折腾了半年的ubuntu,使用的时候解决一些问题有记录,保存在本地总是容易把文件乱放。我是忍受不了混乱的,所以决定把自己的这些文档整理一下,保存在博客里方便自己,分享给大家。我的内存是 4g的,老机器运行Ubuntu系统,有时 打代码,经常在工作几小时后会出现卡机的情况,可能是因为内存爆了,折腾了一下还是不知道怎么回事,折腾受够了也就烦了,于是装deepin系统了,今年(2019)deepin更新后也更好用了,如果用来一般的娱乐(主要是上网或看视频,不是玩游戏)简单办公也是够的了 。
目录
ubuntu和windows双系统下 ubuntu的grub引导错误
ubuntu18.04和windows10双系统下 win10时间不对
Ubuntu频繁卡死解决方案
如果卡死还能调用系统监视器或打开终端(top命令),查看当前哪个进程占用内存或CPU高。
swap交换区和内存使用
swap交换区修改:
swap交换区,也称虚拟内存
是Linux在内存不足时充当内存的文件(已验证)
是Windows中默认使用的运行空间文件(未验证)
我在日常使用ubuntu时,经常要同时打开10几个窗口和应用,有时候就会发生速度变得很慢的情况,甚至系统明显反应迟钝,这时一般是物理内存不够用,系统开始用换硬盘上的swap分区做虚拟内存,其速度可想而知。
在ubuntu里面往往不是物理内存全部耗尽采取使用swap分区,swappiness的值的大小对如何使用swap分区是有着很大的联系的。 swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。两个极端,对于 ubuntu的默认设置,这个值等于60,建议修改为10。具体这样做:
1.查看你的系统里面的swappiness
cat /proc/sys/vm/swappiness
不出意外的话,你应该看到是 60
2.修改swappiness值为10
sudo sysctl vm.swappiness=10
但是这只是临时性的修改,在你重启系统后会恢复默认的60,所以,还要做一步:
sudo gedit /etc/sysctl.conf
在这个文档的最后加上这样一行:
vm.swappiness=10
3.能有效避免内存不足导致的卡死的软件:earlyoom
参考资料(点击进入):
1. Ubuntu频繁卡死解决
2. Linux swapon and swapoff command
3. 增加ubuntu的内存——设置Swap增加内存
5. 深度社区:发现一个能有效避免内存不足导致的卡死的软件:earlyoom
查看linux系统CPU和内存命令
在linux系统中需要通过命令查看系统的CPU和内存大小,下面我将演示这些命令如何使用。
1. 查看linux系统的CPU型号、类型以及大小
cat /proc/cpuinfo
2. 通过greap命令根据Physical Processor ID筛选出多核CPU的信息
cat /proc/cpuinfo | grep "model name" && cat /proc/cpuinfo | grep "physical id"
3. 查看linux系统内存大小的详细信息
cat /proc/meminfo #可以查看总内存,剩余内存、可使用内存等信息
4. 看linux系统各分区的使用情况
df -h #要明确linux系统和windows系统分区的不同。
5. 查看linux系统内存使用量和交换区使用量
free -m
6. 查看CPU支持的指令集
gcc -march=native -Q --help=target|grep march
或者
cat /proc/cpuinfo
Intel的CPU,可以去官网(点击进入)查看能支持什么指令集
Ubuntu 18.04修改默认源为国内源
使用国外源太慢了,更新个小东西都要等个大半天,有时还经常连接不上,修改为国内源会快很多,建议修改阿里源为默认源
备份 /etc/apt/sources.lis
#备份
cp /etc/apt/sources.list /etc/apt/sources.list.bak
在 /etc/apt/sources.list 文件前面添加如下条目
#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
最后执行如下命令更新源
## 更新
sudo apt-get update
sudo apt-get upgrade
另外其他几个国内源如下:
· 中科大源
# 中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
· 163源
# 163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
· 清华源
# 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
参考资料(点击进入):Ubuntu 18.04修改默认源为国内源
解决安装软极被未满足的依赖关系终止 —— 去掉有问题的源
打开更新设置,在“更新”选项卡中选则:重要安全更新 和 推荐更新
并在“其他软件”选项卡中,去掉有问题的源(问题源可以在安装软件时看他跟源的连接情况,如果未响应应该就是有问题的)
最后在命令行里输入
sudo apt-get update
更新一下即可
这之后进行安装都不会有类似问题了
参考资料:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
Ubuntu下安装deb包命令
原文地址(点击进入):在Ubuntu上安装deb包操作实例
1、下载需要安装的deb包,输入以下命令安装:
sudo dpkg -i package.deb
2、查看package.deb包中的内容:
dpkg -c package.deb
3、从package.deb包中提取信息:
dpkg -I package.deb
4、移除安装的deb包:
dpkg -r package
5、完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件:
dpkg -P package
6、列出deb包安装的所有文件清单,同时请看 dpkg -c 来检查一个 .deb 文件的内容:
dpkg -L package
7、显示已安装包的信息。同时请看apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息:
dpkg -s package
8、重新配制一个已经安装的包,如果它使用的是 debconf (debconf 为包安装提供了一个统一的配制界面):
dpkg-reconfigure package
ubuntu18.04添加远程打印机
设置->设备->打印机->额外打印机设置->添加
选择“网络打印机”->“查找网络打印机”
输入打印机所在ip地址,如192.168.163.45,点击“查找”
出现权限的话输入本机登录用户及密码
出现认证的话输入打印机连接的电脑(这里是Windows10)的账户和密码
下一步选择打印机的品牌和型号选择驱动程序
打印测试页,可能需要认证
完成
Ubuntu 解压zip时文件名出现乱码 —— unar
1.安装unar:
sudo apt-get install unar
2.使用:
unar file.zip #解压所有文件
3.如果还是不正确:
unar -e GB18030 file.zip
注:查看命令为 lsar file.zip 和 lasr -e GB18030 file.ziip
我还不会对压缩包里的指定文件解压,以及解压的位置 orz。
ubuntu下面播放swf文件 —— Gnash SWF
1、安装 Gnash SWF 查看器
sudo apt-get install swfdec-gnome
2、更新swf文件的打开方式
在swf文件上面点右键,选择属性,打开方式,Gnash SWF查看器
如何修复 ubuntu中弹出检测到系统程序错误的问题
转载自:https://www.whatled.com/post-2093.html
首先可以查看下是那些软件出现了bug。
ls -l /var/crash
如下所示
然后把/var/crash/下的文件全删掉。
sudo rm /var/carsh/*
好了,就这么简单。如果要禁止错误弹窗,可以这样操作。
sudo gedit /etc/default/apport
把enabled从1改成0即可,后面如果需要可以再改回来。
ubuntu和windows双系统下 ubuntu的grub引导错误
如果安装了双系统,在ubuntu上要更新grub,使用命令
sudo update-grub
ubuntu18.04和windows10双系统下 win10时间不对
这主要是因为安装ubuntu时选择了UTC时间,则ubuntu一开机总是从Internet获取时间,写入Bios,然后在这个时间的基础上+8(根据当时选择的时区),就是此时系统中的显示的时间。但是win7就悲剧了,它总是从Bios中读取时间,而这个时间时ubuntu写入的UTC时间。所以就出现了这样的情况。
ubuntu和windows的系统时间都是参照BIOS时间来设定的,但是二者的设定规则有所不同,其中:
ubuntu系统中将BIOS时间作为格林威治时间,然后加上时区,得到系统时间,使用UTC世界协调时间;
windows系统中BIOS直接作为系统时间。
解决的第一种方法:
先在ubuntu下更新一下时间,确保时间无误:
sudo apt-get install ntpdate
sudo ntpdate time.windows.com
然后将时间更新到硬件上:
sudo hwclock --localtime --systohc
重新进入windows10,发现时间恢复正常了!
解决的第二种方法
开启windows系统的UTC:
1regedit启动注册表中打开路径HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/TimeZoneInformation/;
(对注册表进行修改前建议备份,以免误操作)
2新建DWORD(32位值),并设置名称为RealTimeIsUniversal,值为1;
3重启即可。
Ubuntu安装UFW防火墙
Ubuntu附带了一个相对iptables简单很多的防火墙 配置工具:ufw
ufw防火墙 即uncomplicated firewall,不复杂的防火墙,繁琐部分的设置还是需要去到iptables
防火墙版本:
sudo ufw version
安装命令:
sudo apt-get install ufw
一般用户,只需如下设置:
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny
以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启。
启用命令:
sudo ufw enable
sudo ufw default deny
#运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。
#关闭所有外部对本机的访问,但本机访问外部正常。
开启/禁用语法:
sudo ufw allow|deny [service]
打开或关闭某个端口,例如:
sudo ufw allow smtp #允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 #允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 #允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp #禁止外部访问smtp服务
sudo ufw delete allow smtp #删除上面建立的某条规则
查看防火墙状态命令:
sudo ufw status
补充:
#开启/关闭防火墙 (默认设置是’disable’)
ufw enable|disable
#转换日志状态
ufw logging on|off
#设置默认策略 (比如 “mostly open” vs “mostly closed”)
ufw default allow|deny
#许可或者屏蔽某些入埠的包 (可以在“status” 中查看到服务列表[见后文])
#可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:
ufw allow|deny [service]
#显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。
ufw status
UFW使用范例:
#允许 53 端口
$ sudo ufw allow 53
#禁用 53 端口
$ sudo ufw delete allow 53
#允许 80 端口
$ sudo ufw allow 80/tcp
#禁用 80 端口
$ sudo ufw delete allow 80/tcp
#允许 smtp 端口
$ sudo ufw allow smtp
#删除 smtp 端口的许可
$ sudo ufw delete allow smtp
#允许某特定 IP
$ sudo ufw allow from 192.168.254.254
#删除上面的规则
$ sudo ufw delete allow from 192.168.254.254
[注]
局域网ping不通mac主机的原因:
1. 网络连接或网络不稳定
2. mac电脑锁屏或关机
3. 防火墙设置
4. ICMP协议设置
eg:
sudo ufw allow 3306 #为了使mysql可以远程访问,开启mysql的3306端口
参考资料(点击进入):Ubuntu防火墙安装和配置
解决不能读取exfat格式u盘的问题
我的u盘本来是ntfs格式的,本来在Linux系统下可以读,但由于我双系统,u盘经常在windows和linux中插来插去,后来经常导致u盘在linux中无法挂载,提示说未知文件系统格式。后来想了想linux是支持fat格式的。但fat32单个文件不能超过4g,所以就把u盘格式化成了exfat(fat64)格式。然后再到linux系统下插上u盘,发现这种格式linux还是识别不了。同样说是无法识别文件系统格式,由于这种格式文件系统比较新,所以linux内核还没更新支持,但linux还是可以挂载这种格式的u盘或移动硬盘的,方法如下:
打开linux终端
sudo su
add-apt-repository ppa:relan/exfat
apt-get update
apt-get install exfat-utils
安装完后,重新插上exfat格式的u盘或移动硬盘就可以挂载啦
或者,
Ubuntu默认不支持exfat格式的U盘,只需要运行如下的命令:
sudo apt-get install exfat-utils
安装完成后重启即可
解决Ubuntu系统中文乱码显示问题
一. Ubuntu默认的中文字符编码
Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在
/etc/environment中看到:
sudo gedit /etc/environment
可以看到如下内容:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"第二行即是默认的中文字符编码。注:可以通过这里修改默认的中文编码字符,比如修改为:zh_CN.GBK。
二. 添加中文字符编码的方法
1. 直接使用locale-gen
在终端输入命令:
sudo locale-gen zh_CN.GB18030
即可完成中文字符集的添加。完成后可以转到
/usr/lib/locale/,下面已经有一个zh_CN.gb18030文件夹;在超级终端输入命令:
gedit /var/lib/locales/supported.d/local
可以发现文件中多了一行:zh_CN.GB18030 GB18030。说明添加成功。
2. 通过修改/var/lib/locales/supported.d/local文件
在终端输入命令行
sudo gedit /var/lib/locales/supported.d/local
可以看到如下内容:
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8
在文件尾添加中文字符集
zh_CN GB2312
保存后退出。在终端输入命令:
sudo dpkg-reconfigure locales
最后重启ubuntu。
重启后在系统设置--语言设置里面需要勾选中文,就会自动下载中文包,安装完成后再次重启就ok了。
参考资料:Ubuntu 专题页面