2019年6月

视频点此

这看起来只是一个简单的显卡选谁的问题,实际上这是两种思维的较量。今天,我就来跟你聊聊,如何看待这个较量。

要注意呢,我的观点可能在有些人看来是有失公允的。因为我是站在Linux阵营来说话的,这在一定程度上必然会让我的观点偏向开源一方。所以如果你正尝试,或者已经开始想Linux平台过渡了,这个视频可能对你有所帮助;如果你是坚定的Windows拥护者,那么我之后的观点可能会与你有所违背。斟酌着听吧。

好了,现在就来正式的谈一谈开闭源驱动这个问题。

其实曾经它俩还不是这样的。在那个时候,它们俩都需要使用专有驱动——也就是闭源驱动——来运行。在Windows下面,NVIDIA比AMD更被玩家接受,有一点就是它的驱动优化要比AMD强一些。而Linux下,在两者都需要闭源驱动的年代,NVIDIA的驱动同样可以说一直在是吊打AMD的专有驱动。但这个并不是体现在优化方面,而是两者安装方式的差异上面:NVIDIA,通过.run扩展名的的可执行文件来安装驱动,驱动会被固化到Linux内核之中。这对于安装专属驱动来说是一个很好的方法——简单来讲,固化的过程,就是利用用户的电脑编译出一个内核模块并插在用户的内核上。因为通过用户电脑完成编译,所以得到的这个模块可以说是完全根据用户当前的系统环境生成的,非常灵活。
而AMD,通过amdgpu-pro完成——体验很差。但到现在AMD仍然在维护这个玩意儿。不要装!想给它整服帖,要命。因为AMD维护这个驱动的思路和Windows类似,就是定期释放一个新版本,这个版本只能用在指定的Linux内核版本上,一般是LTS版本的内核。所以如果你使用的是更新更好的内核,或者一个自定义内核的话,这个驱动通常将不再可用。当然,如果你会魔改这个驱动,它兴许能用,但半死不拉活的用起来还不如不要。所以不要用AMD的闭源驱动。
但AMD有一个优势,就是它喜欢开源。我的理解就是:既然我做不好,那我就公开,让有兴趣的人帮我改进,质量提升的同时我还不用额外雇开发者。不管是不是这种想法,喜欢开源的特性让针对AMD显卡的开源驱动性能同闭源驱动几乎无差距,并且这个开源驱动被先天性的整合到了Linux内核之中。与之相比,NVIDIA由于各种技术封闭,针对它的开源驱动只能靠开发者从零开始一点一点写出来,无论性能还是功能同闭源驱动都相差悬殊。所以,如果你使用AMD显卡,那你不需要因为安装不了amdpro驱动而焦头烂额,所有Linux都先天性自带的开源AMD驱动可以给你闭源同等的体验。而如果你使用NVIDIA显卡,那么闭源驱动是一定要安装的。不过好在NVIDIA的闭源驱动不是nvidia-pro这种实现方法,所以你不必担心NVIDIA的闭源驱动装不上。但闭源驱动终究动辄到内核层面,所以NVIDIA的.run实现方式再简单,你可能也会遇到一些不可预料的问题。因此在这一方面,我会倾向开源,偏向AMD阵营。

但大多数人都是用NVIDIA显卡,并且不是很看好AMD显卡——尤其是Windows用户。所以接下来我们聊聊NVIDIA这个闭源驱动的问题。

如果你使用Arch分支以外的发行版,你要怎么安装NVIDIA的闭源驱动呢?

前往NVIDIA的官网——搜索你的显卡驱动——下载.run文件——给其加上可执行权限——安装。当然,一些开箱即用的发行版比如Deepin、Ubuntu这种,会配有一个显卡驱动管理器,通过管理器我们就可以一键安装驱动。但这就又有一个问题:我们并不知道一键安装驱动的背后系统到底都干了些什么,一旦出现了异常,回退的操作就会变得非常艰难。当然,你可能会说这是Linux的问题。如果你这么想了,就说明你对Linux高度自定义性的“高度”一词理解的不深。它太能自定义了,所以想让一套代码适配各种情况太艰难了,所以这就是为什么Linux会推崇开源了。但就像我一开始说的,NVIDIA的.run解决方案可以说是闭源中非常好的了。因为它至少可以适应大多数人的系统,这便足矣。

还有一个问题,可能就不限于Linux方面了:我是否需要安装最新版本的显卡驱动?

Windows下面这个回答可能比较多样化,但Linux下面,这个问题的答案很精确:需要。你需要前往NVIDIA官网,下载新版本的.run文件,然后重新安装。挺麻烦的。

而对于Deepin这种通过一键安装驱动的,更新显卡驱动同样是一个比较麻烦的事情。你不但需要知道这个程序拥有的驱动版本更新没有,还要冒风险卸载再安装。这也是为什么Linux阵营相对会更偏向AMD显卡。

对于绝大多数软件和开源驱动,它们都会被发行版收录到软件仓库之中。amd的开源驱动自然也是如此。所以每次你更新系统的时候,这些软件和驱动就都会被更新到最新了,所以除非你不更新系统,否则你的使用的软件和开源驱动总会是你的发行版下面最新的版本。

这里我想额外插一句啊:Linux更新本质就是下载软件包替换,所以每次更新的量相比Windows来说很小,而且软件包它装它的,你照常使用即可。只有当你将软件关掉了,这个旧版本才终止使命。换句话说,如果这个软件你开了一年不关,那么即使中途这个软件升级了两百次,你在用的这个软件仍然是一年前的老版本。只有当你关掉软件再打开,最新的才会启动。这个过程是无缝的。并不像Windows那种要你重启以应用更新,而且一更更好长时间,不完成还不让你动。

好,两种代表我就说的差不多了。总的来讲,AMD开放,NVIDIA封闭。这在Windows上得不到什么体现,但在Linux上,AMD虽然自己做的不好,但借助开源让其处在优势地位;而NVIDIA自己很强大,但由于封闭使得很多特性不能完整的发挥。正所谓“人多力量大”。

视频点此

经过上一期的介绍,想必你已经可以建立起来一个自己的博客了。所以这种基本的网页服务我就不再多说了。但是,我们为了实现网站,给我们的服务器安装了宝塔面板和网站的执行环境。它们还能怎么用呢?今天我就来聊聊这个。

如果你是按照我的视频来操作的,那么你现在应该使用的lnmp这一套环境。而其中的N——Nginx,这个高性能HTTP和反向代理web服务器,便是今天我要拿来开刀的一个玩意儿。通过它,我们可以快速建立一个下载服务。

你可能会问:我弄这么一个下载服务,有什么用呢?

一般来讲,没什么用。但假如你有我这样的需求,就是让服务器定时的去从某个地方下载当天最新的文件——当然,我的实际用处在于每天的北京时间3点,去录制我最喜欢的Contry Radio的电台节目,供我之后下载收听。这个电台是捷克语电台,每天放送捷克语乡村音乐。如果偏爱乡村音乐的话推荐去听一听。链接在这里

需要注意一点啊,我是使用VPS的,服务器本体在德国的一个机房。所以你想让我直接用U盘拷贝那真是天方夜谭…另外,我当然可以通过宝塔面板来下载,但是每次还得登陆帐号、切换到文件管理、打开文件夹下载,这太麻烦,还不如一劳永逸,只要我输入对应的网址,就能弹出下载列表供我下载,这多好。

正是懒惰驱使了服务完善。所以今天就来看一看,如何建立一个很简易的下载服务器吧。


  • 登陆宝塔面板,在软件部分找到Nginx,点击弹出配置窗口。
注:如果没有,可以前往软件商店,在列表中找到同样的项目,点击后面的设置
  • 切换到配置修改标签,在右侧窗口的结尾添加如下文字:
server { 
    listen    9000;    #端口 
    server_name localhost;  #服务名 
    charset utf-8; # 避免中文乱码
    root  /www/wwwroot/downloads; #显示的根索引目录,注意这里要改成你自己的,目录要存在 
 
    location / {
      autoindex on;       #开启索引功能 
      autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb) 
      autoindex_localtime on;  # 显示本机时间而非 GMT 时间 
    }
  }
  • 保存,切换到服务标签,点击重载配置,一个简易的下载服务就做好了。
  • 但是现在可能还不能访问,因为宝塔的端口规则没有放行。前往宝塔的安全标签,在防火墙窗格中,端口填入刚刚设置的端口号,点击放行
  • 现在,你可以在浏览器输入你服务器的ip:配置的端口号来访问,或者通过对应ip的域名来访问看一看了。

注意:如果需要多个下载服务,一种方法可以在刚刚设置的根目录下面建立子文件夹,另一种方法则可以在配置文件下面新建多个server,只需要确保使用的端口没有被占用即可。


这么一个下载服务器,虽然简陋,但也很实用。就看你的创造性能不能想到它的用处了。那么一个服务器还能有什么作用呢?我们下次接着说。

资安公司Intezer发现了一种名为HiddenWasp的恶意软件,让黑客得以远端控制受感染的系统,HiddenWasp专门感染Linux平台,由使用者模式Rootkit、木马以及初始部署脚本组合而成,研究人员表示,这个恶意软件疑似由中国黑客创造。

Intezer指出,HiddenWasp与其他常见的Linux恶意软件不同,HiddenWasp目的不是将用户的计算机变成矿机开采加密货币,或是进行DDoS攻击,而是单纯用于远端控制。HiddenWasp可以操作本机档案系统,上传、下载并执行档案,执行终端命令等动作。

HiddenWasp组成复杂,作者从各种公开可用的开源恶意软件中,像是Mirai和Azazel rootkit等项目借来大量程序码,并且与其他中国恶意软件存在一些相似之处,特别是与近期Alphabet旗下的资安子公司Chronicle,发现的Winnti恶意程序Linux变种类似,而这个Winnti变种则是中国黑客的著名工具。

虽然有不少恶意软件也会拼凑使用来自于其他项目的程序码,但研究人员从中找到一些线索,发现HiddenWasp与名称为Adore-ng的Linux中文开源Rootkit存在一些关联,而且虽然HiddenWasp可能由中国黑客开发,但是恶意软件本身却是在中国境外创建与营运,有趣的是HiddenWasp档案曾被上传至恶意软件分析网站VirusTotal中,使用的路径包含了一间中国鉴识公司的名字。

HiddenWasp的植入载体(Implant)被托管在ThinkDream位于香港的服务器中,研究人员提到,HiddenWasp是整个攻击手法的第二阶段工具,用来感染受害者已经受损的系统,他们无法得知黑客传播HiddenWasp的方法。现在有证据显示,可能已经有受害者受到HiddenWasp控制,且进行过大规模侦查活动,目前HiddenWasp正处于活跃的状态,而且所有主要的防毒软件都检测不出来。

研究人员提到,HiddenWasp看起来是有针对性的恶意软件,但无法肯定是受到国家资助的攻击计划,但可以确定的是,HiddenWasp的目的,不是执行挖矿或是DDoS攻击这种可以快速获取利润的短期目标。

要防止Linux系统受到HiddenWasp的攻击,可以封锁Intezer提供的C&C IP位置,而他们也提供了YARA规则,让系统检测在存储器中执行的程序是否包含HiddenWasp植入载体。另外,研究人员也提供了一个快速检查系统是否遭到感染的方法,就是搜寻系统中的ld.so文件,当系统中不存在任何包含/etc/ld.so.preload字符串的文件,则系统可能受到感染,因为HiddenWasp的植入载体会对ld.so实例进行补丁,以便从任意位置执行LD_PRELOAD机制。

通过删除最大化时候的标题栏,从而实现让窗口尽可能多的利用屏幕空间。

一、通过插件实现

这是很方便的一种实现方法。只需要通过plasma的在线安装插件功能,装好Active Window Control这个插件并启用,之后在这个插件的设置界面中,改动下述几个位置(其他地方随意):

  • Appearance标签页下

    • 取消勾选Fill width,并将下边的拖动条移至合适的位置(根据一会儿设置的图标大小调整)
    • 勾选Hide titlebar for maximized windows
    • 取消勾选Show window title

  • Buttons标签页下如图设置

注意:Button sizeButtons spacing以适合panel为准;而Appearance标签页的拖动条以这里为准

完成。实现了类似与Unity桌面环境的最大化窗口时,标题栏合并到panel的效果。

二、通过配置文件实现(已失效)

本段所述之文件现已被移除。

编辑~/.config/kderc,做如下修改:

  • [Compositing]中添加语句
BorderlessMaximizedWindows=true
  • [windows]中,将BorderlessMaximizedWindows的值改为true

完成。现在最大化窗口时会隐藏标题栏。可以通过alt+左键拖动窗口取消最大化,进而关闭窗口。