Fedora作为主要的Linux发行版之一,我虽然用的不多,但实际上这却是我最早接触的Linux发行版。后来换用Ubuntu,很大的原因是因为:这是Google为Android选择的开发平台。
最近因为工作需要重新捡起了Fedora。但公司所用的版本太过古老,还是2009年的Fedora 12。所以想了一下,开始试用最新的Fedora 22(2015.2)。这里是使用过程中的一些操作笔记。
https://getfedora.org/
这是官方的下载地址。这里我用的是Workstation版本。
Fedora 22的默认桌面是GNOME 3.16,这一版的外观借鉴了Mac OS X的一些设计,让人眼前一亮。
Fedora 22使用dnf替代yum。因此安装基本gcc开发环境,可用如下命令:
dnf install gcc kernel-devel patch bison flex subversion
如果下载速度较慢的话,可以在/etc/dnf/dnf.conf最后添加:
fastestmirror=true
保存后,执行
$ sudo dnf clean all
$ sudo dnf makecache
此外,和Ubuntu一样,Fedora也有自己的网站可以查询软件包信息:
https://admin.fedoraproject.org/pkgdb/
在RHEL中,可以使用yum从网上下载相应的组件,但需要RHN号,所以我现在换用了CentOS。当你需要使用yum的时候,如果yum找不到相应的组件时,可以在组件名之前加lib,或者在之后加-dev或-devel。
我用的是VirtualBox的虚拟环境,因此除了在VirtualBox中,设置共享文件夹之外,还需对Fedora进行如下操作:
1.添加用户到vboxsf中。
usermod -a -G vboxsf <your user name>
2.重启。(这一步必不可少,否则上面的配置不会生效。)
这样就可以在Fedora中浏览共享文件夹了。
最近在数台PC上部署软件,系统都是CentOS 6。结果发现其中有一台机器无法使用yum安装软件。
解决办法:
1.进入/etc/yum.repos.d中删除CentOS6-Base.repo之外的所有文件。
2.yum clean all
第1步很重要,从事后情况来看,故障是由于某些之前的repo现在已经无法连接所致导致的。
start-stop-daemon是Ubuntu中用的比较多的工具,但是CentOS中并没有。由于start-stop-daemon在ubuntu的dpkg包中,和apt关系比较近,因此直接下载源码,也不是个好办法。
https://packagecloud.io/willgarcia/start-stop-daemon/install
上面的网页提供了一种办法。但是由于网络不好,中间步骤的文件有时需要手动下载才行。
1.安装epel源
yum install epel-release
2.修改/etc/yum.repos.d/epel.repo
将mirrorlist中的https修改为http。否则,会报如下错误:
Error: Cannot retrieve metalink for repository: epel
yum install dnf
这个似乎需要Cent OS 7以上,Cent OS 6反正是不行的。
1.安装
yum install tightvnc-server
这里虽然包名叫做tightvnc-server,但实际上用的是tigervnc-server,因此以后者为包名来安装也是可以的。
2.初次启动,设置密码
vncpasswd
3.配置分辨率、端口
修改/etc/sysconfig/vncservers:
## Single User ##
VNCSERVERS="1:<user name>"
VNCSERVERARGS[1]="-geometry 1280x1024"
默认端口一般是5900~5904。这里的数组下标表明它使用的端口是5901。
4.启动服务
/etc/init.d/vncserver start
参考:
http://www.tecmint.com/install-tightvnc-remote-desktop/
Install TightVNC Server in RHEL/CentOS and Fedora to Access Remote Desktops
我们都知道,如果要使用没有集成到内核之中的Linux驱动程序需要手动编译。而Linux模块和内核是有依赖关系的,如果遇到因为发行版更新造成的内核版本的变动,之前编译的模块是无法继续使用的,我们只能手动再编译一遍。
DKMS(Dynamic Kernel Module Support)可以帮我们维护内核外的这些驱动程序,在内核版本变动之后,可以自动重新生成新的模块。
示例:
https://github.com/antkillerfarm/antkillerfarm_crazy/tree/master/linux_driver/dkms
DKMS管理的驱动的安装路径:/var/lib/dkms
2022.7
8年过去了,内核的编译方式略有改动,原来需要两个makefile,现在一个就够了。
Q:ifneq ($(KERNELRELEASE),)
会使makefile执行两次,为什么?
A:第一次读取makefile时,因为ifneq的存在,先执行了make -C $(KDIR) M=$(PWD
。
-C $(KDIR)
:指明跳转到内核源码目录下读取那里的Makefile
M=$(PWD)
:表明返回到当前目录继续读入、执行当前的Makefile
从内核Makefile返回时,KERNELRELEASE
已被定义,kbuild也被启动,make将继续读取else的内容。
参考:
https://blog.csdn.net/fouweng/article/details/53435602
DKMS简介
https://codeleading.com/article/93045146650/
Makefile中($(KERNELRELEASE),)执行分析
一般使用sane做为扫描仪后端:
sudo apt-get install sane sane-utils xsane
VMPK是一款MIDI生成工具软件,也就是俗称的“虚拟电子琴”软件。但它本身只生成MIDI输出,需要配合使用MIDI后处理软件,才能发声。常见的MIDI后处理软件有Qsynth、TiMidity。
2023.5
最近,儿子乱动我的笔记本电脑,惹出了事端。
具体现象:
开机风扇狂转,软件一测,转速达到5600转,几乎满速。
最开始怀疑,是否是摇松了CPU,导致风扇接触出了问题。但是软件看温度也就70左右,远没有到警戒线(这个一般在90度左右,100+会导致CPU直接关机保护)
最后一查才知道,系统有个叫做电源方案的东西,无论Win,还是Linux都有。
如果选择性能优先,那CPU自然怎么快,怎么来。
如果选择平衡或者节能的话,CPU会自己降频,避免关机保护,或者如本例中的快速升温——在点击应用瞬间,温度从40+飙升到75+。
一般来说,只要峰值温度控制得当,积热其实并不是啥问题。CPU不可能随时都是满负荷,稍微歇一下,积热就散走了。
2023.8
最近,无限网卡突然失灵,上网一查才发现,华硕这几代笔记本由于布局问题,固态硬盘的热量会烧坏附近的网卡芯片。
幸好手里还有一个闲置的USB无线网卡。但是插上网卡,驱动不识别。
经查,该型号网卡的驱动早已集成进内核主线,但是默认并未打开。
解决方法:
sudo modprobe mt7601u
当然这个还是不方便,需要每次手动打开。
https://qastack.cn/unix/71064/systemd-automate-modprobe-command-at-boot-time
systemd:在启动时自动执行modprobe命令
最近gitk中文显示不正常,明明系统的字体是很多的,但可以设置的却甚少。后来发现这里能够设置的并非系统字体,而只是X11字体。
列出字体:
xlsfonts
找到系统字体文件夹,生成fonts.dir
文件:
sudo mkfontscale -o fonts.dir .
加载fonts.dir
文件:
xset +fp /usr/share/fonts/X11/misc
文泉驿字体是最知名的中文免费字体:
sudo apt install ttf-wqy-microhei ttf-wqy-zenhei
设置XDG_CACHE_HOME
可以将cache文件移动到较快的介质如SSD中,从而加速运行。或者移动到较大的分区,以腾出系统空间。
https://www.cnblogs.com/zqb-all/p/10666474.html
Linux实用命令之xdg-open
https://blog.csdn.net/u014025444/article/details/94029895
linux的XDG基本目录规范
主要有两类便签软件:
1.支持超链接的便签。典型的有Gnote和Tomboy,这两个软件都有内容检索的功能。
2.桌面随意贴。典型的有Indicator Stickynotes和Knotes。后者有内容检索的功能,而前者没有。
xournalpp是一个手写笔记软件。
官网:
https://xournalpp.github.io/
安装:
sudo snap install xournalpp
Excalidraw是一个在线的手写笔记软件。
官网:
https://excalidraw.com/
https://www.ubuntukylin.com/news/1682-cn.html
这是优麒麟社区提供的Wine版本,基本涵盖了腾讯系主要的几款通信软件
删除软件快捷方式:
1.首先将~/.local/share/applications/
下和~/.local/share/applications/wine/Programs/
下相关文件或目录删除掉。
2.然后再删除~/.config/menus/applications-merged/
里面相关的文件。
腾讯会议目前已经有了官方的Linux版本。
检测到窗口系统采用wayland协议 腾讯会议暂不兼容 程序即将退出:
sudo vim /etc/gdm3/custom.conf
#WaylandEnable=false #uncomment this line
sudo service gdm3 restart
https://mp.weixin.qq.com/s/v9XlJjIQkuVpSudhQIS70A
神秘!申请内存时底层发生了什么?
https://mp.weixin.qq.com/s/V-XT6QuDG522P0bP2e3ULg
咋办,死锁了
https://mp.weixin.qq.com/s/RHAoM8zhFvQl9R8V0ePxNQ
看腾讯这道多线程面试题
https://mp.weixin.qq.com/s/qWXcL90ZAkc7rrhsbuB_Bw
只有170字节,最小的64位Hello World程序这样写成
https://mp.weixin.qq.com/s/5iyWeSeDzuA2cY7YBMhk7w
MMU那些事儿
https://mp.weixin.qq.com/s/0OeeYUgBBVVMtxscvzgJHw
i++是线程安全的吗?
https://mp.weixin.qq.com/s/U0qr1oZYXBBmZnC5vsKYLQ
浅谈linux IO
https://mp.weixin.qq.com/s/3kgwoyYI90XHm1QPqFJAiQ
内存分页不就够了?为什么还要分段?
https://mp.weixin.qq.com/s/VSbzTh3xEbVdB4IgGJzQ3A
25张图,一万字,拆解Linux网络包发送过程
https://mp.weixin.qq.com/s/2dbr4-dxRCJ_SLCQnrt8ag
Linux内核调度器源码分析
https://yanqiyu.info/2021/06/21/huawei-v-qwr/
某不知名网友怒斥华为,究竟发生了什么
https://mp.weixin.qq.com/s/-8L5MFZrgmyatGgYaR1AEA
波兰极客用一张软盘运行Linux系统,用的还是最新内核!
http://www.cppblog.com/elva/archive/2008/09/10/61544.html
关于SIGPIPE导致的程序退出
https://www.zhihu.com/question/475730584
为什么linux在x86上不需要设备树,在aarch64上需要设备树?
https://zhuanlan.zhihu.com/p/641619701
发现谁用kill -9关闭程序就开除!
https://zhuanlan.zhihu.com/p/659658036
Linux6.1中为什么用Radix树替换位图(bitmap)来管理进程pid
https://zhuanlan.zhihu.com/p/662590546
深入理解Linux内核进程的创建、调度和终止
https://zhuanlan.zhihu.com/p/662681938
为什么linux不是实时操作系统?
https://zhuanlan.zhihu.com/p/669604193
Kernel怎么跳转到Android:linux与安卓的交界
您的打赏,是对我的鼓励