CentOS7 安装配置备忘录
0. 安装 epel 源
$ sudo yum install epel-release.noarch
如果想强制服务器使用 tuna 的镜像,可以如下修改 /etc/yum.repos.d/epel.repo,
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch #metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch/debug #metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/SRPMS #metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1
然后更新 package cache,使用命令 $ sudo yum makecache 测试一下。
1. 高分屏字体调整
$ sudo yum install gnome-tweak-tool.noarch
Applications > Accessories > Tweaks > Fonts > Scaling Factor
2. 支持 exfat 的 U 盘
添加 nux 源,
$ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
因为 nux 仓库和其它第三方仓库可能有兼容性问题,所以一般不建议启用 nux 仓库,打开文件 /etc/yum.repos.d/nux-dextop.repo,修改 enable=0
安装 exfat 相应驱动,
$ sudo yum --enablerepo=nux-dextop install fuse-exfat exfat-utils
注意:安装完成之后,插入 exfat 格式的 U 盘,可能不能自动挂载,这时就只能手动 mount 使用了,例如 $ sudo mount -t exfat /dev/sdb1 /mnt/
3. 编译安装 python3.7 (默认的 $ sudo yum install python36.x86_64,安装的版本是 3.6)
参见:https://www.cnblogs.com/gaowengang/p/10111520.html
4. 编译安装 gvim 8.x (默认的 $ sudo yum install vim-X11.x86_64 ,安装的版本是 7.x ,ycmd 补全时,会有些许兼容性问题)
参见:https://www.cnblogs.com/gaowengang/p/10546815.html
5. 安装 emacs 及 ycmd 相关配置工具
# yum install vim-X11.x86_64
# yum install emacs.x86_64
# yum install clang.x86_64
# yum install python-devel.x86_64
# yum install cmake
6. 一些小工具
# yum install p7zip.x86_64 # 注意,CentOS 下的 7z,使用命令为 "7za"
# yum install tree.x86_64
# yum install chromium.x86_64
# yum install screen.x86_64
7. Python3 异步开发相关
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ aiohttp
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ jinja2
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ aiomysql
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ flask
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ mysql-connector-python
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ sqlalchemy
8. 安装 pycharm 和 vscode
参见官方网站。
9. 安装配置 mysql 5.7
注意:在安装 CentOS Server with GUI 版本时,选择软件的时候,最好不要选择安装 MariaDB,否则之后安装 MySQL 可能会出现兼容性问题。如果已经默认安装 MariaDB,则卸载方法如下:
# rpm -qa | grep mariadb # 检查相关包
# yum remove akonadi-mysql-1.9.2-4.el7.x86_64
# yum remove mariadb-server-5.5.60-1.el7_5.x86_64
# yum remove mariadb-5.5.60-1.el7_5.x86_64
# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
参见: https://www.cnblogs.com/gaowengang/p/10744746.html
10. 安装 MySQL python 接口 mysqlclient (Django need this)
# yum install mysql-community-devel.x86_64
# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ mysqlclient
11. 编译安装 sqlite3
因为 CentOS7 默认的 sqlite3 版本是 3.7.17,而 django 2.2.1 本地开发要求 sqlite3 版本最小为 3.8.3,所以需要编译安装。
获取源代码包 https://www.sqlite.org/download.html sqlite-autoconf-3280000.tar.gz
$ ./configure --prefix=/usr/local
$ make
$ sudo make install
$ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3.ori.bak
$ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
$ sudo echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
$ sudo ldconfig
这样 sqlite 会装在 /usr/local/bin/ 下,因为在 CentOS 的默认 PATH 路径中 /usr/local/bin/ 在 /usr/bin/ 之前,所以最终生效的就是这个新安装的 sqlite3 (可以把 /usr/bin/sqlite 删掉了),测试如下,
$ which sqlite3 /usr/local/bin/sqlite3 $ sqlite3 --version 3.28.0 2019-04-16 19:49:53 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50 $ python3 Python 3.6.8 (default, Apr 25 2019, 21:02:35) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> >>> import sqlite3 >>> sqlite3.sqlite_version '3.28.0' $ python Python 2.7.5 (default, Apr 9 2019, 14:30:50) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> >>> import sqlite3 >>> sqlite3.sqlite_version '3.28.0'
12. 安装 rar
因为 7za 在 CentOS 上不支持 rar 压缩解压 ( RAR (it was removed due a non-free license) ),所以需要安装专有工具 rar,
下载安装包 https://www.rarlab.com/download.htm RAR 5.71 for Linux x64
解压缩后,不用编译,直接 sudo make install,则 rar 和 unrar 会自动安装在 /usr/local/bin 下,一般仅使用 rar 即可。
常用命令选项和 7za 类似, x 为解压,a 为添加到压缩包,其它选项,直接在命令行输入 $ rar 运行查看即可。
X1. 解决 yum 安装软件时出现 Another app is currently holding the yum lock; waiting for it to exit...
$ sudo rm -f /var/run/yum.pid $ sudo yum install yum-cron.noarch $ sudo vim /etc/yum/yum-cron.conf
修改
[commands]
# What kind of update to use:
# default = yum upgrade
# security = yum --security upgrade
# security-severity:Critical = yum --sec-severity=Critical upgrade
# minimal = yum --bugfix update-minimal
# minimal-security = yum --security update-minimal
# minimal-security-severity:Critical = --sec-severity=Critical update-minimal
update_cmd = default
# Whether a message should be emitted when updates are available,
# were downloaded, or applied.
update_messages = yes
# Whether updates should be downloaded when they are available.
download_updates = no
X2. 笔记本电脑安装 CentOS7 后,默认情况下,WiFi 指示灯在连接状态下,会一直保持闪烁,太晃眼睛。将其更改为连接状态下常亮
查看 WiFi 的 mode 名称,
$ lsmod | grep iwl iwldvm 189350 0 mac80211 718956 1 iwldvm iwlwifi 223575 1 iwldvm cfg80211 632335 3 iwlwifi,mac80211,iwldvm
在 /etc/modprobe.d/ 下新建配置文件 wlanled.conf (文件名可任意),
$ cd /etc/modprobe.d/ $ sudo touch wlanled.conf
打开此文件,并插入以下内容,
# Add for adjust the wifi led mode: # wifi on - light on always (CentOS7 default mode is blinking) # wifi off - light off options iwlwifi led_mode=1
Reboot 即可。
X3. 安装 thefuck
$ sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ thefuck
配置 .bashrc
# for thefuck eval "$(thefuck --alias fuck)" # to supress the python2 warning: eval "$(thefuck --alias fuck 2>/dev/null)"
然后命令行有 typo 时就可以 fuck 修正了。
X4. Gnome 版本查询
$ gnome-shell --version GNOME Shell 3.28.3
X5. Gnome Night Light 色温调节
安装 dconf-editor
$ sudo yum install dconf-editor.x86_64
启动 dconf-editor,在 org/gnome/settings-daemon/plugins/color/night-light-temperature,常用色温值如下,
- 1000 — Lowest value (super warm/red)
- 4000 — Default night light on temperature
- 5500 — Balanced night light temperature
- 6500 — Default night light off temperature
- 10000 — Highest value (super cool/blue)
X6. Chromium 指定默认搜索引擎为百度
Settings > Search engine > Manage search engines > Add, set as following,
Search engine: Baidu
Keyword: baidu
URL with %s in place of query: https://www.baidu.com/s?wd=%s
then, Make default.
X7. 关闭 tracker 索引功能
安装
$ sudo yum install tracker-preferences.x86_64
运行打开 UI 配置界面,把能去掉的都去掉
$ tracker-preferences
(关于 tracker 的功能,请参阅 https://wiki.gnome.org/Projects/Tracker/WhatIsTracker)
X8. pycharm 2019.1 输入中文的问题 (Ubuntu 18.04 没有这个问题,CentOS7 有这个问题)
修改 .bashrc,加入如下配置
# for pycharm with zh export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus export XMODIFIERS=@im=ibus
X9. Nodejs
由于 CentOS7 默认安装的 gcc 版本太旧,编译安装 Nodejs 要先升级 gcc,所以直接使用官方的预编译版本。
在 https://nodejs.org/en/download/ 下载 node-v10.16.0-linux-x64.tar.gz
解压缩到 /usr/local/ 下,在 /usr/local/bin/ 下加入软链接即可,
$ sudo ln -s /usr/local/node-v10.16.0-linux-x64/bin/node /usr/local/bin/node $ sudo ln -s /usr/local/node-v10.16.0-linux-x64/bin/npm /usr/local/bin/npm $ sudo ln -s /usr/local/node-v10.16.0-linux-x64/bin/npx /usr/local/bin/npx
X10. CentOS7添加/删除用户和用户组
新建用户 (例如 peter)
# adduser peter # passwd peter
建工作组 (例如 xxx)
# groupadd xxx
新建用户 peter 并将其添加到工作组 xxx
# useradd -g xxx peter
将已有用户 peter 添加到工作组 xxx
# usermod -a -G xxx peter
查看当前用户所属的用户组
$ groups
查看 peter 所属的用户组
# groups peter
把用户 peter 移出用户组 xxx
# gpasswd -d peter xxx
临时关闭用户 peter 的账户
# passwd peter -l
重新打开用户 peter 的账户
# passwd peter -u
删除用户 peter 的账户
# userdel peter
删除工作组 xxx
# groupdel xxx
查看当前登陆用户
# who
查看登陆历史记录
# last
X11. 安装 Opera 浏览器
导入已签名密钥
sudo rpm --import https://rpm.opera.com/rpmrepo.key
添加 repo
sudo tee /etc/yum.repos.d/opera.repo <<RPMREPO [opera] name=Opera packages type=rpm-md baseurl=https://rpm.opera.com/rpm gpgcheck=1 gpgkey=https://rpm.opera.com/rpmrepo.key enabled=1 RPMREPO
更新本地 cache 及安装
$ sudo yum makecache $ sudo yum install opera-stable.x86_64
更多信息参见 https://rpm.opera.com/manual.html
Debian 系列可参考 https://deb.opera.com/manual.html
X12. 关闭 SELinux
$ sudo vim /etc/selinux/config
改为,
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. #SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
reboot 后,查看结果,
$ sestatus
X13. 关闭 kdump
$ sudo service kdump stop $ sudo chkconfig kdump off $ reboot
X14. 安装 redhat-lsb (这样就能使用 lsb_release -a 查看当前系统的版本信息了)
$ sudo yum install redhat-lsb
X15. 升级 Git (直接官网下载 tarball,编译安装即可)
$ tar --xz -xvf git-2.23.0.tar.xz $ cd git-2.23.0/ $ ./configure --prefix=/usr/local $ make $ sudo make install # (如果 PATH 中 /usr/bin 在 /usr/local/bin 之前,则备份好原文件,做软连接,添加 load config 文件到 /etc/ld.so.conf.d/xxx.conf,然后 sudo ldconfig) $ git --version git version 2.23.0
Note: tarball 方式安装的 Git 没有 tab 自动补全功能,解决方法如下:
$ cp git-2.23.0/contrib/completion/git-completion.bash ~/.git-completion.bash
在 ~/.bashrc 中添加语句,
source ~/.git-completion.bash
然后 source .bashrc 即可。
X15.1 安装可视化 Git 工具 gitk
The gitk tool provides a graphical display of a git tree. It can be helpful for exploring the branches in a tree.
$ sudo yum install gitk
安装完成,切换到 git repo 下,直接使用 $ gitk 打开 GUI 窗口。
X16. Linux 下 PDF 分割,剪切,合并等神器 cpdf
直接下载预编译的二进制文件,将对应系统的文件拷贝到 /usr/local/bin 下即可。
下载地址及常用操作方法见: http://community.coherentpdf.com/
PDF 解密名令,
$ cpdf -decrypt in.pdf owner=<owner password> -o out.pdf
X17. 安装 Zeal
Zeal 官方没有提供 CentOS7 的安装方法,所以必须编译安装。
1. 因为不同版本的 Zeal 对应不同的 Qt 版本,我这里选择 Zeal 0.6,对应要求 Qt version 5.5.1 or above.
从 github 下载源文件 https://github.com/zealdocs/zeal/tree/release/0.6
2. 安装合适的 Qt 版本,我这里使用 qt-opensource-linux-x64-5.8.0.run
3. 设置必要的环境变量
# for use Qt5.8 tools (for install zeal) export PATH=$PATH:/opt/Qt5.8.0/Tools/QtCreator/bin:/opt/Qt5.8.0/5.8/gcc_64/bin:/opt/Qt5.8.0/5.8/Src
4. 升级 cmake
CentOS7 默认安装的 cmake 版本是 2.8.12 ,而编译 Zeal 需要 cmake 3.x 版本,所以从 https://cmake.org/ 下载最新的源文件 cmake-3.17.0-rc1-Linux-x86_64.tar.gz,解压缩进入文件夹,
$ ./bootstrap --prefix=/usr/local $ gmake $ sudo make install
5. 安装必要的依赖包
sudo yum install qt5-qtwebkit.x86_64 qt5-qtwebkit-devel.x86_64 sudo yum install libarchive libarchive-devel.x86_64 sudo yum install qt5-qtbase-devel.x86_64 sudo yum install xcb-util-keysyms-devel.x86_64 sudo yum install extra-cmake-modules.noarch sudo yum install qt5-qtx11extras.x86_64 qt5-qtx11extras-devel.x86_64
6. 解压缩并进入 zeal 源代码文件夹
mkdir build cd build/ cmake .. make sudo make install
X18. 安装 OpenJDK 开发工具
$ sudo yum install java-1.8.0-openjdk-devel.x86_64
X19. 录屏工具 simplescreenrecorder
$ sudo yum install simplescreenrecorder
X20. 安装高级进程管理工具 htop
$ sudo yum install htop
(待续)