deepin linux 使用与运维日记(长期更新)
软件推荐
注:大型或知名软件就不在这里推荐了
桌面级
- albert 效率工具,快速检索
- genymotion 模拟器,安卓开发必备
- goldendict 开源词典,支持多种格式
- redict 第三方有道词典,官方版存在内存泄露
- uget 下载管理工具,最好配合 aria2 使用
- Persepolis Download Manager(PDM) aria2 的前端 GUI
- Vokoscreen 录屏软件
- Shotcut 视频剪辑软件
- LosslessCut 视频剪辑软件(无损,非编码)
- HandBrake 视频压制/转码 GUI
- Ghex 二进制文件编辑器
- Debreate deb 打包辅助工具
- meld 文件(夹)对比工具
- remmina 远程连接图形化管理工具,支持多种协议
- XnView 图片管理工具,适合需要管理大量图片的用户,支持多种格式,如 PSD 直接预览
- Typora 基于 MD 格式的写作软件
- dbKoda mongodb 的管理/开发工具,且具备数据可视化分析的功能。
- ISO Master IOS 镜像创建和编辑软件
- Gucharmap 类似 Windows 下的字符映射表
- yEd Graph Editor 流程图绘制工具
- you-get Python3 写的工具,可以下载主流视频网站的视频
- To Do 简洁的待办事项软件
- GtkHash 是一个用来计算消息摘要和 checksum 的工具,当前支持的哈希函数包括:MD5、SHA1、SHA256、SHA512、RIPEMD、TIGER、WHIRLPOOL。
- timeshift 时光机,类似 macOS 的时间机器,Windows 的系统还原
服务器
- htop 类似 top 的命令界面工具,比 top 更好用。
- verdaccio 让你部署私有 NPM 服务更容易。
- gitblit 让你部署私有 Git 服务更容易。
Goldendict 在线词典配置
目前根据我测试的结果可用的主要有这么几个:海词,有道,金山词霸,译典通,汉典,以下是这些词典的地址:
sh
http://dict.cn/%GDWORD%
http://dict.youdao.com/search?q=%GDWORD%&ue=utf8
http://www.iciba.com/%GDWORD%/
http://www.dreye.com.cn/ews/%GDWORD%--01--.html
http://www.zdic.net/sousuo/?q=%GDWORD%
升级 firefox 的 flash 插件
chrome 用户可以无视这个。
官网下载的文件名为 flash_player_npapi_linux.x86_64.tar.gz
。
将解压出来的 .so
文件复制到 ~/.mozilla/plugins
中。
重新启动小狐狸。
firefox 的媒体解析插件安装不上
正常情况下 FF 会自动安装媒体插件,这种情况一般是网络原因,我遇到过,翻墙之后顺利安装。
如何手动建立一个 desktop 启动
以火狐为例:
在 /home/wolfx/.local/share/applications
新建 .desktop
文件
貌似不支持 gif 形式的 Icon
sh
[Desktop Entry]
Type=Application
Version=1.0
Name=firefox
Comment=可爱的小狐狸
Path=/opt/firefox
Exec=/opt/firefox/firefox %U
Icon=firefox
Terminal=false
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;
PS:关于这个我自己用 QT 写了个 GUI 管理工具。
让 uget 成为 firefox 默认下载器
首先安装 uget-integrator
:
https://github.com/ugetdm/uget-integrator
sh
wget https://raw.githubusercontent.com/ugetdm/uget-integrator/master/install/linux/install_uget_integrator.sh
chmod +x install_uget_integrator.sh
./install_uget_integrator.sh
批量无损压缩图片
sh
sudo apt install jpegoptim
sudo apt install optipng
sh
## 压缩JPG
find . -name '*.jpg' | xargs jpegoptim --strip-all
## 压缩PNG
find -type f -name "*.png" -exec optipng {} \;
然后安装浏览器插件,狐火拓展搜索 uget-integrator
安装,重启浏览器即可。
java -jar 运行软件中文乱码
这是由于内置的 open jre 没有内置中文字体导致的。解决方式有两种,第一种是拷贝字体到 jre,我们这里用第二种:
编辑 ~/.profile
加入
sh
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
环境变量
编辑 ~/.profile
加入你需要配置的路径
sh
export PATH=$PATH:/home/wolfx/.local/bin
自由切换 Java 版本
sudo update-alternatives --config java
安装 Oracle Java
- 下载 Oracle JDK 压缩包(.tar.gz)。
- 解压到
/opt
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_66/bin/java 1000
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_66/bin/javac 1000
update-alternatives 是专门维护系统命令链接符的工具
查看当前支持的分辨率
xrandr
sh
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
eDP-1-1 connected (normal left inverted right x axis y axis)
1366x768 59.98 +
1360x768 59.80 59.96
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
VGA-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.89
1280x800 59.81
1152x864 75.00
1280x720 60.00
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 59.94
720x400 70.08
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
Deepin 降级保护措施
另外单独安装的包可以使用 apt-mark 设定为保留:
sh
sudo apt-mark hold cocomusic google-chrome-stable
添加右键菜单
在 ~/.config/deepin/dde-file-manager/menuextensions
路径下创建 xxx.json
文件,内容如下。
json
[
{
"MenuType": "EmptyArea",
"Icon": "",
"Text[zh_CN]": "刷新",
"Exec": "deepin-refresh"
}
]
dpkg:处理软件包 xxx (--configure)时出错
解决办法如下:
1.将 info 文件夹更名
sh
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
2.再新建一个新的 info 文件夹
sh
sudo mkdir /var/lib/dpkg/info
3.更新
sh
sudo apt-get update
sudo apt-get -f install
4.还原 info
sh
sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info
内存优化(swappiness)
swappiness 的值的大小对如何使用 swap 分区是有着很大的联系的。swappiness=0
的时候表示最大限度使用物理内存,然后才是 swap 空间,swappiness=100
的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面。deepin 的默认设置为 10 ,一般 linux 默认值为 60,查看方式具体如下:
sh
cat /proc/sys/vm/swappiness
临时调整的方法如下
sh
sysctl vm.swappiness=10
要想永久调整的话需要在 /etc/sysctl.conf
修改,在文件末尾加上:
sh
vm.swappiness=10
linux 挂载的外部磁盘无执行权限的问题
在一次系统更新后,我挂载的 HDD 硬盘上所有文件的执行权限全部没了,这里的执行权限不是指x
权限,即使用 chmod 777
也无法执行。
查阅资料后发现跟linux
的挂载机制有关,看了一下etc/mtab
发现挂载的 HDD 有noexec
参数,于是解决方案有了,就是写个自动挂载脚本,去掉noexec
参数。
关于写挂载脚本,可以参数下面这篇文章:
Linux 命令-自动挂载文件/etc/fstab 功能详解[转]
手动修改 /etc/fstab
sh
## /dev/sda1
UUID=221e1c8a-fb65-4528-8ff1-0897d3e9111d /media/wolfx/HDD ext4 rw,nosuid,nodev,exec,relatime,data=ordered 0 0
这里的 UUID 需要获取,比如获取 sda1
的 UUID: dumpe2fs -h /dev/sda1
重启后问题解决。
mysql 允许远程访问
安装
sh
sudo apt install mysql-server
设置密码
sql
UPDATE user SET password=PASSWORD("new password") WHERE user='root';
允许远程
sql
UPDATE user SET host='%' WHERE user='root';
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
注释掉 bind-address=127.0.0.1
这行
sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
重启
sh
systemctl restart mysqld
安装 postgresql
安装
sh
sudo apt-get update
sudo apt-get install postgresql
安装 Postgresql 后,会自动添加一个名为 postgres 的操作系统用户,密码是随机的。并且会自动生成一个名字为 postgres 的数据库,用户名也为 postgres,密码也是随机的。
修改 postgres 数据库用户的密码为 123456
sh
sudo -u postgres psql
postgres=## ALTER USER postgres WITH PASSWORD '123456';
postgres=## \q
重设系统用户密码
sh
sudo passwd -d postgres ## passwd -d 是清空指定用户密码的意思
sudo -u postgres passwd
配置远程访问
sh
vim /etc/postgresql/9.4/main/postgresql.conf
监听任何地址访问,修改连接权限
#listen_addresses = 'localhost'
改为 listen_addresses = '*'
启用密码验证
#password_encryption = on
改为 password_encryption = on
sh
vim /etc/postgresql/9.4/main/pg_hba.conf
在文档末尾加上以下内容
host all all 0.0.0.0 0.0.0.0 md5
重启服务
sh
sudo systemctl restart postgresql
局域网 NPM
https://github.com/verdaccio/verdaccio
环境配置
这步是为了避免权限问题
sh
## 创建新目录
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
## 修改环境变量
export PATH=~/.npm-global/bin:$PATH
安装
sh
npm install --global verdaccio
修改配置
sh
vim /home/junlsoft/.config/verdaccio/config.yaml
sh
## a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npm.taobao.org/
sh
listen: 0.0.0.0:4873
部署 gitlab
参考文章 https://www.jianshu.com/p/a9bb06a48b25
sh
sudo apt-get update
sudo apt-get install -y openssh-server ca-certificates
如果需要邮箱提醒服务,还需要安装 postfix,当然你也可以安装其他邮件服务。
sh
sudo apt-get install -y postfix
安装
sh
sudo dpkg -i gitlab-ce_xx.x.x-ce.x_amd64.deb
安装之后开始配置 GitLab,使用 gedit
或者 vim
打开 /etc/gitlab/gitlab.rb
。然后修改 external_url
的值为你的本机 ip,比如 127.0.0.1
。
修改默认端口
sh
sudo vim /opt/gitlab/embedded/conf/nginx.conf
## listen *:8088; 修改端口
配置 gitlab 并查看运行状态
sh
sudo gitlab-ctl reconfigure
sudo gitlab-ctl status
重启 gitlab
sh
gitlab-ctl restart
连接 SoftEther VPN
https://my.oschina.net/funcy/blog/1940553
以下总结注意点:
- 连接方式为 L2TP
- IPSec 的加密协议是 3des-sha1-modp1024 与 3des-sha1
- deepin 需要安装额外的依赖才能使用 3des 加密。sh
apt-get install libcharon-extra-plugins apt-get install libstrongswan-standard-plugins apt-get install libstrongswan-extra-plugins