第7章 linux
7.1 安装和配置
TP-P53 安装 ubuntu 18.04
参考这里
- bios 关闭
Secure Boot
, startup 选择 Both (UEFI/legacy), 以从 usb 安装系统 - 安装
Install Ubuntu
, 按e
配置安装选项,以set
开始的行修改:gfxpayload=××text××
; 下面一行添加=casper only-ubiquity ××nomodeset××
,不安装nouveau
驱动,因为机 器带了nvidia T2000独显,后续要安装对应显卡驱动 - 安装系统
- 重启,
ctrl + alt + F1
进入命令行安装驱动,因为我们选择了nomodeset
安装, 没有显卡驱动进入图形界面会卡死。sudo ubuntu-drivers autoinstall
,重启即可
检查显卡驱动是否安装成功
# 看到configuration那里driver=nvidia表示显卡驱动安装成功,如果不采用nomodeset # 选项安装,默认安装nouveau驱动 sudo lshw -C display # *-display # description: VGA compatible controller # product: NVIDIA Corporation # vendor: NVIDIA Corporation # physical id: 0 # bus info: pci@0000:01:00.0 # version: a1 # width: 64 bits # clock: 33MHz # capabilities: pm msi pciexpress vga_controller bus_master cap_list rom # configuration: driver=nvidia latency=0
- bios 关闭
ubuntu 添加新用户并赋予sudo权限
ubuntu 修复模式下修改文件
有时候在修改完某个文件后,重启系统会卡在 ubuntu 启动的log界面,比如通过修改
rc.local
设置开机启动项,这时候就需要在recovery模式下修改引起启动问题的文件:- 开机后按
shift
或者esc
进入grub,选额高级启动项 - 进入recovery mode
- 选则进入
Drop To Root Shell Prompt
,就用 root 用户登录了,然后修改文件即可
- 开机后按
Mac/windows 通过网线链接 ubuntu 服务器
网线链接两台电脑后,手动设置相应网卡的 IP 地址,保证在同一个网段。如 Mac IP 设置成192.168.11.1,子网掩码设置为 255.255.255.0,ubuntu IP设置为192.168.11.2,子网掩码设置为 255.255.255.0。
ubuntu 20.04 挂载局域网内windows共享的文件夹
- 在 windows 设置好共享文件夹
- ubuntu 20.04 安装 cifs-utils
sudo apt install cifs-utils
- 挂载
sudo mount -t cifs -o username=<windows用户名> //<192.xx.xx.xx, windows局域网ip>/<共享的文件夹> </mnt/win, 挂载目录>
ubuntu 添加 aliyun 源
根据这里选择相应版本的源,以 16.04 xenial为例
# 备份原有文件 mv /etc/apt/sources.list /etc/apt/sources.list.backup # 新建文件,添加源 touch /etc/apt/sources.list 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://mirr.iyun.com/ubuntu/ xenial-security multiverse
ubuntu 18.04 设置开机启动脚本
方法参考这里
ubutu 18.04采用 systemd 进行系统管理,启动的时候 systemd 默认读取
/etc/systemd/system
下的配置文件,这些配置文件会链接/lib/systemd/system
下的 文件。ls /lib/systemd/system
下可以看到有rc-local.service
和rc.local.service
文 件,其中rc.local.servce
是链接到rc-local.service
。打开rc-local.service
# SPDX-License-Identifier: LGPL-2.1+ # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # This unit gets pulled automatically into multi-user.target by # systemd-rc-local-generator if /etc/rc.local is executable. [Unit] Description=/etc/rc.local Compatibility ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=on
该启动文件少了
INSTALL
字段,在rc-local.service
后面添加接着新建
/etc/rc.local
文件,在里面添加启动脚本加上
x
执行权限最后把
rc-local.service
链接到/etc/systemd/system/
下重启
/etc/rc.local
内的脚本就会在开机后自动启动。ubuntu workspace 呈 grid 形式显示
ubuntu 默认的 workspace 只能上下显示,安装 gnome-shell-wsmatrix 使 workspace 以行列显示。
- 下载 gnome-shell-wsmatrix
- 解压后拷贝到
~/.local/share/gnome-shell/extensions/
下 - 保证
metadata.json
文件的uuid
字段与加压后的文件夹同名,如wsmatrix@martin.zurowietz.de
alt + f2
输入命r
重启 ××gnome shell××即可
ubuntu 触控板手势设置
安装 fusuma
- 添加用户至
INPUT
用户组后重启
- 安装
添加至开机自动启动: 打开 gnome-session-properties 添加 fusuma (
which fusuma
)的路径, 路径后面加上参数-d
表明后台运行最后可以在
~/.config/fusuma/config.yml
下自定义配置- 添加用户至
ubuntu 搜狗输入法乱码
搜狗输入法需要切换两次才能正确显示,第一次切换拼音显示为乱码
解决办法参考这里
- 输入法配置,不要把搜狗输入法放在第一位
- 依赖性检查
sudo apt-get install -f
- 删除配置文件后重启
ubuntu 开机后弹窗 检测系统程序出现问题
修改
/etc/default/apport
,enable=0
centos 7 升级内核, 一些软件或者驱动(如网卡驱动)需要高版本内核
参考这里
# 添加elrepo源,elrepo包含了许多硬件相关的软件包的rpm软件仓库 # 首先倒入public key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 参考http://elrepo.org/tiki/tiki-index.php选择对应系统版本的源 rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm # 查看可升级的内核 yum --disablerepo="*" --enablerepo="elrepo-kernel" list available # 安装最新内核 yum --enablerepo=elrepo-kernel install kernel-ml # 更新内核 grub2-mkconfig -o /boot/grub2/grub.cfg # 查看系统中的内核 cat /boot/grub2/grub.cfg |grep menuentry if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" export menuentry_id_option menuentry 'CentOS Linux (5.5.5-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.5.5-1.el7.elrepo.x86_64-advanced-a2c5cb57-ab41-44c2-b7f8-e3981fc2582d' { menuentry 'CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1062.el7.x86_64-advanced-a2c5cb57-ab41-44c2-b7f8-e3981fc2582d' # 然后根据上一步查看到的内核CentOS Linux (5.5.5-1.el7.elrepo.x86_64) 7 (Core)设置 grub2-set-default "CentOS Linux (5.5.5-1.el7.elrepo.x86_64) 7 (Core)" # 重启即可看到新更新的内核 reboot
centos 7 安装 Intel
Wi-Fi 6 AX200 160MHz
无线网卡驱动[官网](https://www.intel.cn/content/www/cn/zh/support/articles/000005511/network-and-i-o/wireless-networking.html 上说该网卡要求内核在5.1以上,在升级完内核后,下载 驱动,然后按照README中的步骤安装即可
ubuntu 20.04 网络设置静态 IP 后,出现错误
Temporary failure in name resolution
ping ip 地址和网关都通,ping 域名则无法连接,原因可能是域名无法解析。 直接在
/etc/reslov.conf
添加 DNS 服务器 (如114.114.114.114)会在重启后会恢复为原来内容。在/etc/systemd/resolved.conf
添加 DNS 服务器,然后链接到/etc/reslov.conf
即可(参考这里):
7.3 VIM
7.3.2 插件
安装插件
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
~/.vimrc
中添加
" 括号内为插件安装路径,默认为~/.vim/plugged
" 之前用的pathogen安装插件保存在~/.vim/bundle,所以修改了默认路径
call plug#begin('~/.vim/bundle')
" Make sure you use single quotes
" 要安装的插件
" Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
Plug 'junegunn/vim-easy-align'
call plug#end()
默认执行filetype plugin indent on
和 syntax enable
- 退出vim,重新打开后
:PlugInstall
即可安装
安装 python autocompletion 插件 jedi-vim 后出现错误
因为安装系统的 vim 是基于自带的 python(3.5) 配置的, jedi-vim 默认使用系统自带的
python3.5 (:python3 import sys; print(sys.version_info)
), 而我们需要使用更高版本的 python (3.9), 出现版本不匹配而引起错误
File "/home/user/.vim/plugged/jedi-vim/pythonx/parso/parso/parser.py", line 113 node_map: Dict[str, type] = {} ^ SyntaxError: invalid syntax
.
解决办法: 用 conda 用相应版本 python 重新安装配置新的 vim conda install -c conda-forge vim
. 参考
这里. 如果使用
自带的 vim 和 python, 则直接把 python3
链接到系统版本应该也可以.