Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
一个 HTTP/2 的故事

我花了大约 25 个小时来完成。坐下来穿上舒适的拖鞋,听听这个 HTTP/2 的故事!Media

via https://linux.cn/article-10404-1.html
一个 HTTP/2 的故事

&#22823;&#32422;&#19968;&#20010;&#26376;&#21069;&#65292;&#26377;&#20154;&#22312;&#25105;&#25152;&#22312;&#30340; IRC &#39057;&#36947;&#20013;&#25552;&#21040;&#20102; <a href="https://en.wikipedia.org/wiki/HTTP/2">HTTP/2</a>&#12290;&#30001;&#20110;&#26576;&#31181;&#21407;&#22240;&#65292;&#25105;&#20174;&#26410;&#21548;&#35828;&#36807;&#23427;&#65292;&#32780;&#19988;&#26032;&#21327;&#35758;&#30340;&#19968;&#20123;&#21151;&#33021;&#65288;&#27604;&#22914;&#26080;&#38656;&#25171;&#24320;&#22810;&#20010; TCP &#36830;&#25509;&#23601;&#33021;&#22797;&#29992;&#35831;&#27714;&#65289;&#20284;&#20046;&#24456;&#37239;&#12290;&#35828;&#23454;&#35805;&#65292;&#25105;&#21018;&#21018;&#37325;&#20889;&#20102;&#31649;&#29702;&#25105;&#20204;&#22791;&#20221;&#31243;&#24207;&#30340; Puppet &#20195;&#30721;&#65292;&#21551;&#29992; HTTP/2 &#20284;&#20046;&#26159;&#19968;&#31181;&#36716;&#21521;&#21478;&#19968;&#20010;&#22823;&#22411;&#39033;&#30446;&#20043;&#21069;&#26377;&#25928;&#30340;&#25302;&#24310;&#26041;&#24335;&#12290;&#36825;&#26377;&#22810;&#38590;&#65311;&#32467;&#26524;&#25105;&#33457;&#20102;&#22823;&#32422; 25 &#20010;&#23567;&#26102;&#26469;&#23436;&#25104;&#12290;&#22352;&#19979;&#26469;&#31359;&#19978;&#33298;&#36866;&#30340;&#25302;&#38795;&#65292;&#21548;&#21548;&#36825;&#20010; HTTP/2 &#30340;&#25925;&#20107;&#65281;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/01/170158dnzuuw8ids3dw8sb.jpg">Media</a>&#34987;&#35781;&#21650;&#30340; HTTP/1.1&#24403;&#25105;&#31532;&#19968;&#27425;&#30475;&#21040;&#22914;&#20309;&#22312; Apache &#19978;&#21551;&#29992; HTTP/2 &#26102;&#65292;&#36825;&#20284;&#20046;&#26159;&#19968;&#39033;&#38750;&#24120;&#31616;&#21333;&#30340;&#20219;&#21153;&#12290;&#25991;&#26723;&#25552;&#21040;&#21152;&#36733; http2 &#27169;&#22359;&#24182;&#36890;&#36807;&#22914;&#19979;&#37197;&#32622;&#25991;&#20214;&#30830;&#20445;&#26032;&#21327;&#35758;&#20248;&#20808;&#65306;<pre class="prettyprint linenums">Protocols h2 h2c http/1.1H2Push onH2PushPriority * afterH2PushPriority text/css beforeH2PushPriority image/jpeg after 32H2PushPriority image/png after 32H2PushPriority application/javascript interleaved</pre>&#36825;&#24403;&#28982;&#24456;&#23481;&#26131;&#12290;&#21363;&#20351; Apache &#20013;&#30340;&#25152;&#26377;&#20869;&#23481;&#37117;&#24050;&#27491;&#30830;&#35774;&#32622;&#65292;&#32593;&#31449;&#20173;&#28982;&#20351;&#29992;&#30340;&#26159; HTTP/1.1&#12290;&#19981;&#36807;&#65292;&#26174;&#28982;&#25105;&#20570;&#24471;&#27809;&#38169;&#65292;&#22240;&#20026;&#25105;&#30340;&#32593;&#31449;&#29616;&#22312;&#21457;&#36865;&#20102;&#19968;&#20010;&#26032;&#30340; HTTP &#22836;&#65306;Upgrade: h2, h2c&#12290;&#22312;&#28010;&#36153;&#20102;&#22823;&#37327;&#26102;&#38388;&#35843;&#35797; TLS &#23494;&#38053;&#65288;HTTP/2 <a href="https://http2.github.io/http2-spec/#TLSUsage">&#19982; TLS 1.1 &#19981;&#20860;&#23481;</a>&#65289;&#20043;&#21518;&#65292;&#25105;&#32456;&#20110;&#21457;&#29616;&#38382;&#39064;&#26159;&#27809;&#26377;&#20351;&#29992;&#27491;&#30830;&#30340; Apache &#22810;&#36827;&#31243;&#22788;&#29702;&#27169;&#22359;&#12290;&#20107;&#23454;&#35777;&#26126;&#65292;&#22312;&#20351;&#29992; mpm_prefork&#65288;&#40664;&#35748; MPM&#65289;&#26102;&#65292;Apache &#19981;&#20250;&#20351;&#29992; HTTP/2&#65292;&#22240;&#20026; mod_http2 &#19981;&#25903;&#25345;&#23427;&#12290;&#23613;&#31649; Apache &#36824;&#26377;&#20004;&#20010;&#20854;&#20182;&#30340; MPM&#65292;&#20294;&#21482;&#26377; mpm_prefork &#25903;&#25345; mod_php&#12290;&#31361;&#28982;&#20043;&#38388;&#65292;&#28155;&#21152;&#23545; HTTP/2 &#30340;&#25903;&#25345;&#24847;&#21619;&#30528;&#25105;&#20204;&#23558;&#35201;&#25226;&#25152;&#26377;&#30340; PHP &#32593;&#31449;&#20999;&#25442;&#21040; PHP-FPM&#12290;&#25481;&#36827;&#20820;&#23376;&#27934;&#22312;&#24456;&#38271;&#19968;&#27573;&#26102;&#38388;&#37324;&#65292;&#19968;&#20301;&#22909;&#21451;&#19968;&#304…
如何构建一台网络引导服务器(三)

我们将向你展示如何设置一个更复杂的 iPXE 配置。它将允许终端用户以更容易的方式去选择引导哪个操作系统。它也可以配置为让系统管理员从一台中央服务器来统一管理引导菜单。Media

via https://linux.cn/article-10405-1.html
&#22914;&#20309;&#26500;&#24314;&#19968;&#21488;&#32593;&#32476;&#24341;&#23548;&#26381;&#21153;&#22120;&#65288;&#19977;&#65289;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/01/172110uwb7tt3x0gapas33.jpg">Media</a>&#22312; <a href="https://linux.cn/article-10379-1.html">&#22914;&#20309;&#26500;&#24314;&#19968;&#21488;&#32593;&#32476;&#24341;&#23548;&#26381;&#21153;&#22120;&#65288;&#19968;&#65289;</a> &#20013;&#65292;&#25105;&#20204;&#25552;&#20379;&#20102;&#19968;&#20010;&#26497;&#31616;&#30340; <a href="https://ipxe.org/">iPXE</a> &#24341;&#23548;&#33050;&#26412;&#26469;&#24341;&#23548;&#20320;&#30340;&#32593;&#32476;&#24341;&#23548;&#38236;&#20687;&#12290;&#35768;&#22810;&#29992;&#25143;&#38500;&#20102;&#20351;&#29992;&#32593;&#32476;&#24341;&#23548;&#38236;&#20687;&#22806;&#65292;&#21487;&#33021;&#22312;&#26426;&#22120;&#26412;&#22320;&#20063;&#26377;&#19968;&#20010;&#25805;&#20316;&#31995;&#32479;&#12290;&#20294;&#26159;&#20351;&#29992;&#24120;&#35265;&#30340;&#24037;&#20316;&#31449;&#30340; BIOS &#21435;&#20999;&#25442;&#24341;&#23548;&#21152;&#36733;&#22120;&#26159;&#24456;&#31528;&#25305;&#30340;&#12290;&#22312;&#26412;&#31995;&#21015;&#25991;&#20214;&#30340;&#31532;&#19977;&#37096;&#20998;&#65292;&#25105;&#20204;&#23558;&#21521;&#20320;&#23637;&#31034;&#22914;&#20309;&#35774;&#32622;&#19968;&#20010;&#26356;&#22797;&#26434;&#30340; iPXE &#37197;&#32622;&#12290;&#23427;&#23558;&#20801;&#35768;&#32456;&#31471;&#29992;&#25143;&#20197;&#26356;&#23481;&#26131;&#30340;&#26041;&#24335;&#21435;&#36873;&#25321;&#24341;&#23548;&#21738;&#20010;&#25805;&#20316;&#31995;&#32479;&#12290;&#23427;&#20063;&#21487;&#20197;&#37197;&#32622;&#20026;&#35753;&#31995;&#32479;&#31649;&#29702;&#21592;&#20174;&#19968;&#21488;&#20013;&#22830;&#26381;&#21153;&#22120;&#26469;&#32479;&#19968;&#31649;&#29702;&#24341;&#23548;&#33756;&#21333;&#12290;&#19968;&#20010;&#20132;&#20114;&#24335; iPXE &#24341;&#23548;&#33756;&#21333;&#19979;&#38754;&#36825;&#20123;&#21629;&#20196;&#37325;&#23450;&#20041;&#20102;&#32593;&#32476;&#24341;&#23548;&#38236;&#20687;&#30340; boot.cfg &#26469;&#20316;&#20026;&#19968;&#20010;&#20132;&#20114;&#24335;&#30340; iPXE &#24341;&#23548;&#33756;&#21333;&#65292;&#24182;&#20351;&#29992;&#20102;&#19968;&#20010; 5 &#31186;&#20498;&#35745;&#26102;&#30340;&#23450;&#26102;&#22120;&#65306;<pre class="prettyprint linenums">$ MY_FVER=29$ MY_KRNL=$(ls -c /fc$MY_FVER/lib/modules | head -n 1)$ MY_DNS1=192.0.2.91$ MY_DNS2=192.0.2.92$ MY_NAME=server-01.example.edu$ MY_EMAN=$(echo $MY_NAME | tr '.' "\n" | tac | tr "\n" '.' | cut -b -${#MY_NAME})$ MY_ADDR=$(host -t A $MY_NAME | awk '{print $4}')$ cat << END > $HOME/esp/linux/boot.cfg#!ipxeset timeout 5000:menumenu iPXE Boot Menuitem --key 1 lcl 1. Microsoft Windows 10item --key 2 f$MY_FVER 2. RedHat Fedora $MY_FVERchoose --timeout \${timeout} --default lcl selected || goto shellset timeout 0goto \${selected}:failedecho boot failed, dropping to shell...goto shell:shellecho type 'exit' to get the back to the menuset timeout 0shellgoto menu:lclexit:f$MY_FVERkernel --name kernel.efi \${prefix}/vmlinuz-$MY_KRNL initrd=initrd.img ro ip=dhcp rd.peerdns=0 nameserver=$MY_DNS1 nameserver=$MY_DNS2 root=/dev/disk/by-path/ip-$MY_ADDR:3260-iscsi-iqn.$MY_EMAN:fc$MY_FVER-lun-1 netroot=iscsiMediaMY_ADDR::::iqn.$MY_EMAN:fc$MY_FVER console=tty0 console=ttyS0,115200n8 audit=0 selinux=0 quietinitrd --name initrd.img \${prefix}/initramfs-$MY_KRNL.imgboot || goto failedEND</pre>&#19978;&#36848;&#33756;&#21333;&#26377;&#20116;&#20010;&#33410;&#65306;menu &#23450;&#20041;&#20102;&#26174;&#31034;&#22312;&#23631;&#24149;&#19978;&#30340;&#23454;&#38469;&#33756;&#21333;&#20869;&#23481;&#12290;failed &#25552;&#31034;&#29992;&#25143;&#21457;&#29983;&#20102;&#38169;&#35823;&#65292;&#24182;&#23558;&#29992;&#25143;&#24102;&#21040; shell &#20197;&#38169;&#35823;&#38169;&#35823;&#12290;shell &#25552;&#20379;&#20102;&#20132;&#20114;&#24335;&#21629;&#20196;&#25552;&#31034;&#31526;&#12290;&#20320;&#21487;&#20197;&…
初级:如何在终端及图形界面中更新 Ubuntu

这篇教程将向你展示如何更新服务器版本或者桌面版本的 Ubuntu。它还解释了更新和升级之间的区别以及你应该了解的有关于 Ubuntu Linux 中的更新的一些其他内容。Media

via https://linux.cn/article-10406-1.html
&#21021;&#32423;&#65306;&#22914;&#20309;&#22312;&#32456;&#31471;&#21450;&#22270;&#24418;&#30028;&#38754;&#20013;&#26356;&#26032; Ubuntu

&#36825;&#31687;&#25945;&#31243;&#23558;&#21521;&#20320;&#23637;&#31034;&#22914;&#20309;&#26356;&#26032;&#26381;&#21153;&#22120;&#29256;&#26412;&#25110;&#32773;&#26700;&#38754;&#29256;&#26412;&#30340; Ubuntu&#12290;&#23427;&#36824;&#35299;&#37322;&#20102;&#26356;&#26032;&#21644;&#21319;&#32423;&#20043;&#38388;&#30340;&#21306;&#21035;&#20197;&#21450;&#20320;&#24212;&#35813;&#20102;&#35299;&#30340;&#26377;&#20851;&#20110; Ubuntu Linux &#20013;&#30340;&#26356;&#26032;&#30340;&#19968;&#20123;&#20854;&#20182;&#20869;&#23481;&#12290;&#22914;&#26524;&#20320;&#26159;&#19968;&#20010;&#26032;&#25163;&#24182;&#24050;&#32463;&#20307;&#39564; Ubuntu &#25968;&#22825;&#25110;&#20960;&#21608;&#65292;&#20320;&#21487;&#33021;&#24819;&#30693;&#36947;&#22914;&#20309;&#26356;&#26032;&#20320;&#30340; <a href="https://www.ubuntu.com/">Ubuntu</a> &#31995;&#32479;&#20197;&#33719;&#21462;&#23433;&#20840;&#34917;&#19969;&#65292;&#38169;&#35823;&#20462;&#22797;&#21644;&#24212;&#29992;&#21319;&#32423;&#12290;&#26356;&#26032; Ubuntu &#38750;&#24120;&#31616;&#21333;&#12290;&#25105;&#24182;&#19981;&#26159;&#30606;&#35828;&#12290;&#23427;&#31616;&#21333;&#24471;&#21482;&#35201;&#36816;&#34892;&#20004;&#20010;&#21629;&#20196;&#12290;&#35753;&#25105;&#26469;&#21578;&#35785;&#20320;&#36825;&#20004;&#20010;&#21629;&#20196;&#30340;&#26356;&#22810;&#32454;&#33410;&#12290;&#35831;&#27880;&#24847;&#65292;&#26412;&#25945;&#31243;&#36866;&#29992;&#20110; Ubuntu 18.04&#12289;16.04 &#25110;&#20219;&#20309;&#20854;&#20182;&#29256;&#26412;&#12290;&#21629;&#20196;&#34892;&#26041;&#24335;&#20063;&#36866;&#29992;&#20110;&#22522;&#20110; Ubuntu &#30340;&#21457;&#34892;&#29256;&#22914; Linux Mint&#12289;Linux Lite&#12289;elementary OS &#31561;&#12290;&#36890;&#36807;&#21629;&#20196;&#34892;&#26356;&#26032; Ubuntu<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/01/212906rhz7lwatjcha74a4.png">&#22914;&#20309;&#26356;&#26032; Ubuntu</a>&#22312;&#26700;&#38754;&#19978;&#65292;&#25171;&#24320;&#32456;&#31471;&#12290;&#20320;&#21487;&#20197;&#22312;&#33756;&#21333;&#37324;&#25214;&#21040;&#23427;&#25110;&#32773;&#20351;&#29992; Ctrl+Alt+T <a href="https://itsfoss.com/ubuntu-shortcuts/">&#24555;&#25463;&#38190;</a>&#12290;&#22914;&#26524;&#20320;&#26159;&#30331;&#24405;&#21040;&#19968;&#21488; <a href="https://www.ubuntu.com/download/server">Ubuntu &#26381;&#21153;&#22120;</a>&#65292;&#37027;&#20320;&#24050;&#32463;&#22312;&#35775;&#38382;&#19968;&#20010;&#32456;&#31471;&#20102;&#12290;&#22312;&#32456;&#31471;&#37324;&#65292;&#20320;&#21482;&#38656;&#35201;&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#65306;<pre class="prettyprint linenums">sudo apt update && sudo apt upgrade -y</pre>&#23427;&#23558;&#35810;&#38382;&#20320;&#23494;&#30721;&#65292;&#32780;&#20320;&#21487;&#20197;&#20351;&#29992;&#20320;&#30340;&#36134;&#21495;&#23494;&#30721;&#12290;&#36755;&#20837;&#26102;&#65292;&#20320;&#23558;&#19981;&#20250;&#30475;&#21040;&#20219;&#20309;&#20869;&#23481;&#22312;&#23631;&#24149;&#19978;&#65292;&#25152;&#20197;&#35831;&#32487;&#32493;&#36755;&#20837;&#20320;&#30340;&#23494;&#30721;&#24182;&#25353;&#22238;&#36710;&#38190;&#12290;&#29616;&#22312;&#65292;&#25105;&#26469;&#35299;&#37322;&#19979;&#19978;&#38754;&#30340;&#21629;&#20196;&#12290;&#20107;&#23454;&#19978;&#65292;&#36825;&#19981;&#26159;&#19968;&#26465;&#21629;&#20196;&#12290;&#23427;&#30001;&#20004;&#26465;&#21629;&#20196;&#32452;&#25104;&#12290;&#31526;&#21495; && &#26159;&#21512;&#24182;&#20004;&#26465;&#21629;&#20196;&#30340;&#19968;&#20010;&#26041;&#27861;&#65292;&#31532;&#20108;&#26465;&#21629;&#20196;&#20165;&#22312;&#21069;&#19968;&#26465;&#21629;&#20196;&#25191;&#34892;&#25104;&#21151;&#26102;&#25191;&#34892;&#12290;&#24403;&#21629;&#20196; apt upgrade &#35201;&#27714;&#20320;&#22312;&#23433;&#35013;&#26356;&#26032;&#21069;&#30830;&#35748;&#26102;&#65292;&#26411;…
Linux 下最棒的 11 个图片查看器

如果不是因为系统自带的图片查看器没有你想要的功能,或者你想要更棒的体验,你大概不会想切换到其它图片查看器吧。Media

via https://linux.cn/article-10407-1.html
Linux &#19979;&#26368;&#26834;&#30340; 11 &#20010;&#22270;&#29255;&#26597;&#30475;&#22120;

&#22914;&#26524;&#19981;&#26159;&#22240;&#20026;&#31995;&#32479;&#33258;&#24102;&#30340;&#22270;&#29255;&#26597;&#30475;&#22120;&#27809;&#26377;&#20320;&#24819;&#35201;&#30340;&#21151;&#33021;&#65292;&#25110;&#32773;&#20320;&#24819;&#35201;&#26356;&#26834;&#30340;&#20307;&#39564;&#65292;&#20320;&#22823;&#27010;&#19981;&#20250;&#24819;&#20999;&#25442;&#21040;&#20854;&#23427;&#22270;&#29255;&#26597;&#30475;&#22120;&#21543;&#12290;&#19981;&#36807;&#65292;&#22914;&#26524;&#20320;&#21916;&#27426;&#25240;&#33150;&#65292;&#20320;&#21487;&#33021;&#23601;&#20250;&#24819;&#29992;&#19981;&#21516;&#30340;&#22270;&#29255;&#26597;&#30475;&#22120;&#20102;&#21543;&#12290;&#25105;&#29468;&#26368;&#32456;&#20320;&#20250;&#34987;&#26032;&#22270;&#29255;&#26597;&#30475;&#22120;&#30340;&#20840;&#26032;&#29992;&#25143;&#20307;&#39564;&#25110;&#29305;&#33394;&#21151;&#33021;&#25152;&#21560;&#24341;&#30340;&#12290;&#22312;&#26412;&#31687;&#25991;&#31456;&#20013;&#65292;&#26080;&#35770;&#26159;&#31616;&#21333;&#30340;&#36824;&#26159;&#22797;&#26434;&#30340;&#12289;&#26080;&#35770;&#26159;&#20026; Ubuntu &#20934;&#22791;&#30340;&#36824;&#26159;&#20854;&#23427; Linux &#21457;&#34892;&#29256;&#20934;&#22791;&#30340;&#65292;&#25105;&#20204;&#37117;&#26377;&#25552;&#21040;&#12290;Linux &#19979;&#26368;&#26834;&#30340;&#22270;&#29255;&#26597;&#30475;&#22120;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/02/140524oz705o0cqm57mg3l.png">Ubuntu &#25110;&#20854;&#23427; Linux &#21457;&#34892;&#29256;&#36866;&#29992;&#30340;&#26368;&#26834;&#30340;&#22270;&#29255;&#26597;&#30475;&#22120;</a><strong>&#27880;&#24847;&#65306;</strong> &#22312;&#20934;&#22791;&#23433;&#35013;&#19968;&#20010;&#22270;&#29255;&#26597;&#30475;&#22120;&#26102;&#65292;&#35831;&#21069;&#24448;&#24744;&#31995;&#32479;&#20013;&#39044;&#20808;&#23433;&#35013;&#30340;&#36719;&#20214;&#21830;&#24215;&#20013;&#26597;&#25214;&#12290;&#22914;&#26524;&#24744;&#27809;&#26377;&#20219;&#20309;&#36719;&#20214;&#21830;&#24215;&#25110;&#26080;&#27861;&#22312;&#36719;&#20214;&#21830;&#24215;&#20013;&#25214;&#21040;&#23427;&#65292;&#35831;&#25163;&#21160;&#25191;&#34892;&#25105;&#20204;&#32473;&#20986;&#30340;&#21629;&#20196;&#12290;1. Nomacs<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/02/140526g0d66h9zqop5pdmo.jpg">Nomacs &#22270;&#29255;&#26597;&#30475;&#22120;</a><strong>&#23427;&#26377;&#20160;&#20040;&#29305;&#28857;&#65311;</strong>&#36731;&#24555;&#20869;&#24314;&#22270;&#20687;&#35843;&#25972;&#24037;&#20855;&#65288;&#21487;&#20197;&#35843;&#25972;&#33394;&#24425;&#21644;&#22823;&#23567;&#65289;&#25293;&#25668;&#20301;&#32622;&#20449;&#24687;&#20803;&#25968;&#25454;&#35843;&#33410;&#22120;&#23616;&#22495;&#32593;&#21516;&#27493;&#20840;&#23631;&#27169;&#24335;Nomacs &#26159;&#19968;&#27454;&#33258;&#30001;&#36719;&#20214;&#12290;&#34429;&#28982;&#27809;&#26377;&#20160;&#20040;&#20986;&#20247;&#30340;&#21151;&#33021;&#65292;&#20294;&#26159;&#23427;&#30340;&#20860;&#23481;&#24615;&#36824;&#19981;&#38169;&#65292;&#21487;&#20197;&#25903;&#25345;&#35768;&#22810;&#24120;&#35265;&#26684;&#24335;&#12290;&#23427;&#30340;&#30028;&#38754;&#36229;&#32423;&#31616;&#21333;&#65292;&#20294;&#26159;&#25552;&#20379;&#20102;&#31616;&#21333;&#30340;&#22270;&#29255;&#32534;&#36753;&#21151;&#33021;&#65288;&#21487;&#20197;&#35843;&#25972;&#33394;&#24425;&#12289;&#20142;&#24230;&#12289;&#22823;&#23567;&#21644;&#35009;&#21098;&#65289;&#12290;&#38500;&#27492;&#20043;&#22806;&#65292;&#23427;&#36824;&#25903;&#25345;&#20840;&#23631;&#27169;&#24335;&#12289;&#30452;&#26041;&#22270;&#65292;&#20197;&#21450;&#21487;&#20197;&#20999;&#25442;&#26174;&#31034;&#20803;&#25968;&#25454;&#12289;&#32534;&#36753;&#21382;&#21490;&#31561;&#20449;&#24687;&#30340;&#35768;&#22810;&#38754;&#26495;&#12290;<strong>&#25105;&#35813;&#22914;&#20309;&#23433;&#35013;&#23427;&#65311;</strong>&#31616;&#21333;&#36215;&#35265;&#6529…
使用 Node.js 构建交互式命令行工具

使用 Node.js 构建一个根据询问创建文件的命令行工具。Media

via https://linux.cn/article-10408-1.html
&#20351;&#29992; Node.js &#26500;&#24314;&#20132;&#20114;&#24335;&#21629;&#20196;&#34892;&#24037;&#20855;

&#20351;&#29992; Node.js &#26500;&#24314;&#19968;&#20010;&#26681;&#25454;&#35810;&#38382;&#21019;&#24314;&#25991;&#20214;&#30340;&#21629;&#20196;&#34892;&#24037;&#20855;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/02/232550x51um1yim1msd19m.jpg">Media</a>&#24403;&#29992;&#20110;&#26500;&#24314;&#21629;&#20196;&#34892;&#30028;&#38754;&#65288;CLI&#65289;&#26102;&#65292;Node.js &#21313;&#20998;&#26377;&#29992;&#12290;&#22312;&#36825;&#31687;&#25991;&#31456;&#20013;&#65292;&#25105;&#23558;&#20250;&#25945;&#20320;&#22914;&#20309;&#20351;&#29992; <a href="https://nodejs.org/en/">Node.js</a> &#26469;&#26500;&#24314;&#19968;&#20010;&#38382;&#19968;&#20123;&#38382;&#39064;&#24182;&#22522;&#20110;&#22238;&#31572;&#21019;&#24314;&#19968;&#20010;&#25991;&#20214;&#30340;&#21629;&#20196;&#34892;&#24037;&#20855;&#12290;&#24320;&#22987;&#39318;&#20808;&#65292;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; <a href="https://www.npmjs.com/">npm</a> &#21253;&#65288;NPM &#26159; JavaScript &#21253;&#31649;&#29702;&#22120;&#65289;&#12290;<pre class="prettyprint linenums">mkdir my-scriptcd my-scriptnpm init</pre>NPM &#23558;&#20250;&#38382;&#19968;&#20123;&#38382;&#39064;&#12290;&#38543;&#21518;&#65292;&#25105;&#20204;&#38656;&#35201;&#23433;&#35013;&#19968;&#20123;&#21253;&#12290;<pre class="prettyprint linenums">npm install --save chalk figlet inquirer shelljs</pre>&#36825;&#26159;&#25105;&#20204;&#38656;&#35201;&#30340;&#21253;&#65306;Chalk&#65306;&#27491;&#30830;&#35774;&#23450;&#32456;&#31471;&#30340;&#23383;&#31526;&#26679;&#24335;Figlet&#65306;&#20351;&#29992;&#26222;&#36890;&#23383;&#31526;&#21046;&#20316;&#22823;&#23383;&#27597;&#30340;&#31243;&#24207;&#65288;LCTT &#35793;&#27880;&#65306;&#20351;&#29992;&#26631;&#20934;&#23383;&#31526;&#65292;&#25340;&#20945;&#20986;&#22270;&#29255;&#65289;Inquirer&#65306;&#36890;&#29992;&#20132;&#20114;&#24335;&#21629;&#20196;&#34892;&#29992;&#25143;&#30028;&#38754;&#30340;&#38598;&#21512;ShellJS&#65306;Node.js &#29256;&#26412;&#30340;&#21487;&#31227;&#26893; Unix Shell &#21629;&#20196;&#34892;&#24037;&#20855;&#21019;&#24314;&#19968;&#20010; index.js &#25991;&#20214;&#29616;&#22312;&#25105;&#20204;&#35201;&#20351;&#29992;&#19979;&#36848;&#20869;&#23481;&#21019;&#24314;&#19968;&#20010; index.js &#25991;&#20214;&#12290;<pre class="prettyprint linenums">#!/usr/bin/env nodeconst inquirer = require("inquirer");const chalk = require("chalk");const figlet = require("figlet");const shell = require("shelljs");</pre>&#35268;&#21010;&#21629;&#20196;&#34892;&#24037;&#20855;&#22312;&#25105;&#20204;&#20889;&#21629;&#20196;&#34892;&#24037;&#20855;&#25152;&#38656;&#30340;&#20219;&#20309;&#20195;&#30721;&#20043;&#21069;&#65292;&#20570;&#35745;&#21010;&#24635;&#26159;&#24456;&#26834;&#30340;&#12290;&#36825;&#20010;&#21629;&#20196;&#34892;&#24037;&#20855;&#21482;&#20570;&#19968;&#20214;&#20107;&#65306;<strong>&#21019;&#24314;&#19968;&#20010;&#25991;&#20214;</strong>&#12290;&#23427;&#23558;&#20250;&#38382;&#20004;&#20010;&#38382;&#39064;&#65306;&#25991;&#20214;&#21517;&#26159;&#20160;&#20040;&#20197;&#21450;&#25991;&#20214;&#21518;&#32512;&#21517;&#26159;&#20160;&#20040;&#65311;&#28982;&#21518;&#21019;&#24314;&#25991;&#20214;&#65292;&#24182;&#23637;&#31034;&#19968;&#20010;&#21253;&#21547;&#20102;&#25152;&#21019;&#24314;&#25991;&#20214;&#36335;&#24452;&#30340;&#25104;&#21151;&#20449;&#24687;&#12290;<pre class="prettyprint linenums">// index.jsconst run = async () => { // show script introduction // ask questions // create the file // show success message};run();</pre>&#31532;&#19968;&#20010;&#20989;&#25968;&#21482;&#26159;&#35813;&#33050;&#26412;&#30340;&#20171;&#32461;&#12290;&#35753;&#25105;&#20204;&#20351;&#29992; chalk &#21644; figlet &#26469;&#25226;&#23427;&#23436;&#25104;&#12290;<pre class="prettyprint linenums">const init = () => { console.log( chalk.green( figlet.textSync("Node JS CLI"…
如何在 Ubuntu 18.04 中启动到救援模式或紧急模式

在救援模式下,将挂载所有本地文件系统,仅启动一些重要服务。与救援模式相比,在紧急模式中不启动任何东西。Media

via https://linux.cn/article-10409-1.html
&#22914;&#20309;&#22312; Ubuntu 18.04 &#20013;&#21551;&#21160;&#21040;&#25937;&#25588;&#27169;&#24335;&#25110;&#32039;&#24613;&#27169;&#24335;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/02/233456h882cm5rw28ynwrm.png">Media</a>&#27491;&#22914;&#20320;&#21487;&#33021;&#24050;&#32463;&#30693;&#36947;&#30340;&#37027;&#26679;&#65292;<strong>&#36816;&#34892;&#32423;&#21035;</strong> &#22312;&#35768;&#22810;&#26368;&#36817;&#30340; Linux &#21457;&#34892;&#29256;&#65288;&#22914; RHEL 7 &#21644; Ubuntu 16.04 LTS&#65289;&#20013;&#34987; <strong>systemd &#30340;&#30446;&#26631;</strong> &#26367;&#25442;&#12290;&#26377;&#20851;&#23427;&#20204;&#30340;&#26356;&#22810;&#35814;&#32454;&#20449;&#24687;&#65292;&#35831;&#21442;&#38405;<a href="https://www.ostechnix.com/check-runlevel-linux/">&#36825;&#20010;&#25351;&#21335;</a>&#12290;&#22312;&#36825;&#20010;&#31616;&#30701;&#30340;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#30475;&#21040;&#22914;&#20309;&#21551;&#21160;<strong>&#25937;&#25588;&#27169;&#24335;</strong>&#20197;&#21450;<strong>&#32039;&#24613;&#27169;&#24335;</strong>&#12290;&#26412;&#25351;&#21335;&#22312; Ubuntu 18.04 LTS &#20013;&#36827;&#34892;&#20102;&#27979;&#35797;&#65292;&#20294;&#26159;&#19979;&#38754;&#32473;&#20986;&#30340;&#27493;&#39588;&#36866;&#29992;&#20110;&#22823;&#22810;&#25968;&#20351;&#29992; systemd &#20316;&#20026;&#40664;&#35748;&#26381;&#21153;&#31649;&#29702;&#22120;&#30340; Linux &#21457;&#34892;&#29256;&#12290;&#22312;&#36827;&#19968;&#27493;&#35752;&#35770;&#20043;&#21069;&#65292;&#35753;&#25105;&#28548;&#28165;&#20160;&#20040;&#26159;&#25937;&#25588;&#27169;&#24335;&#21644;&#32039;&#24613;&#27169;&#24335;&#20197;&#21450;&#36825;&#20004;&#31181;&#27169;&#24335;&#30340;&#30446;&#30340;&#26159;&#20160;&#20040;&#12290;&#20160;&#20040;&#26159;&#25937;&#25588;&#27169;&#24335;&#65311;<strong>&#25937;&#25588;&#27169;&#24335;</strong>&#30456;&#24403;&#20110;&#20351;&#29992; <strong>SysV</strong> &#20316;&#20026;&#40664;&#35748;&#30340;&#26381;&#21153;&#31649;&#29702;&#22120;&#30340; Linux &#21457;&#34892;&#29256;&#20013;&#30340; <strong>&#21333;&#29992;&#25143;&#27169;&#24335;</strong>&#12290;&#22312;&#25937;&#25588;&#27169;&#24335;&#19979;&#65292;&#23558;&#25346;&#36733;&#25152;&#26377;&#26412;&#22320;&#25991;&#20214;&#31995;&#32479;&#65292;&#20165;&#21551;&#21160;&#19968;&#20123;&#37325;&#35201;&#26381;&#21153;&#12290;&#20294;&#26159;&#65292;&#19981;&#20250;&#21551;&#21160;&#27491;&#24120;&#26381;&#21153;&#65288;&#20363;&#22914;&#32593;&#32476;&#26381;&#21153;&#65289;&#12290;&#25937;&#25588;&#27169;&#24335;&#22312;&#31995;&#32479;&#26080;&#27861;&#27491;&#24120;&#21551;&#21160;&#30340;&#24773;&#20917;&#19979;&#24456;&#26377;&#29992;&#12290;&#27492;&#22806;&#65292;&#25105;&#20204;&#21487;&#20197;&#22312;&#25937;&#25588;&#27169;&#24335;&#19979;&#25191;&#34892;&#19968;&#20123;&#37325;&#35201;&#30340;&#25937;&#25588;&#25805;&#20316;&#65292;&#20363;&#22914;<a href="https://www.ostechnix.com/how-to-reset-or-recover-root-user-password-in-linux/">&#37325;&#32622; root &#23494;&#30721;</a>&#12290;&#20160;&#20040;&#26159;&#32039;&#24613;&#27169;&#24335;&#65311;&#19982;&#25937;&#25588;&#27169;&#24335;&#30456;&#27604;&#65292;&#22312;<strong>&#32039;&#24613;&#27169;&#24335;</strong>&#20013;&#19981;&#21551;&#21160;&#20219;&#20309;&#19996;&#35199;&#12290;&#27809;&#26377;&#26381;&#21153;&#21551;&#21160;&#12289;&#27809;&#26377;&#25346;&#36733;&#28857;&#12289;&#27809;&#26377;&#24314;&#31435;&#22871;&#25509;&#23383;&#65292;&#20160;&#20040;&#20063;&#27809;&#26377;&#12290;&#20320;&#25152;&#25317;&#26377;&#30340;&#21482;&#26159;&#19968;&#20010;<strong>&#21407;&#22987;&#30340; shell</strong>&#12290;&#32039;&#24613;&#27169;&#24335;&#36866;&#29992;&#20110;&#35843;&#35797;&#30446;&#30340;&#12290;&#22312; Ubuntu 18.04 LTS &#20013;&#36827;&#20837;&#25937;&#25588;&#27169;&#24335;&#21551;&#21160;&#20320;&#30340; Ubuntu &#31995;&#32479;&#12290;&#20986;&#29616; Grub &#33756;&#21333;&#26102;&#65292;&#36…
dbxfs:在 Linux 中本地挂载 Dropbox 文件夹

虽然在 Linux 中很容易安装 Dropbox 客户端,但这种方法与官方方法略有不同。它是一个命令行 dropbox 客户端,且无需磁盘空间即可访问。Media

via https://linux.cn/article-10410-1.html
dbxfs&#65306;&#22312; Linux &#20013;&#26412;&#22320;&#25346;&#36733; Dropbox &#25991;&#20214;&#22841;

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/03/134500k83d0xphlm3pxd52.png">Media</a>&#19981;&#20037;&#21069;&#65292;&#25105;&#20204;&#24635;&#32467;&#20102;&#25152;&#26377; <a href="https://www.ostechnix.com/how-to-mount-google-drive-locally-as-virtual-file-system-in-linux/">&#22312;&#26412;&#22320;&#25346;&#36733; Google Drive</a> &#20316;&#20026;&#34394;&#25311;&#25991;&#20214;&#31995;&#32479;&#65292;&#24182;&#20174; Linux &#31995;&#32479;&#35775;&#38382;&#23384;&#20648;&#22312; Google Drive &#20013;&#30340;&#25991;&#20214;&#30340;&#26041;&#27861;&#12290;&#20170;&#22825;&#65292;&#25105;&#20204;&#23558;&#23398;&#20064;&#20351;&#29992; dbxfs &#23558; Dropbox &#25991;&#20214;&#22841;&#25346;&#36733;&#21040;&#26412;&#22320;&#25991;&#20214;&#31995;&#32479;&#20013;&#12290;dbxfs &#29992;&#20110;&#22312;&#31867; Unix &#25805;&#20316;&#31995;&#32479;&#20013;&#26412;&#22320;&#25346;&#36733; Dropbox &#25991;&#20214;&#22841;&#20316;&#20026;&#34394;&#25311;&#25991;&#20214;&#31995;&#32479;&#12290;&#34429;&#28982;&#22312; Linux &#20013;&#24456;&#23481;&#26131;<a href="https://www.ostechnix.com/install-dropbox-in-ubuntu-18-04-lts-desktop/">&#23433;&#35013; Dropbox &#23458;&#25143;&#31471;</a>&#65292;&#20294;&#36825;&#31181;&#26041;&#27861;&#19982;&#23448;&#26041;&#26041;&#27861;&#30053;&#26377;&#19981;&#21516;&#12290;&#23427;&#26159;&#19968;&#20010;&#21629;&#20196;&#34892; dropbox &#23458;&#25143;&#31471;&#65292;&#19988;&#26080;&#38656;&#30913;&#30424;&#31354;&#38388;&#21363;&#21487;&#35775;&#38382;&#12290;dbxfs &#26159;&#33258;&#30001;&#24320;&#28304;&#30340;&#65292;&#24182;&#19988;&#26159;&#29992; Python 3.5+ &#32534;&#20889;&#30340;&#12290;&#23433;&#35013; dbxfsdbxfs &#23448;&#26041;&#25903;&#25345; Linux &#21644; Mac OS&#12290;&#20294;&#26159;&#65292;&#23427;&#24212;&#35813;&#36866;&#29992;&#20110;&#20219;&#20309;&#25552;&#20379; <strong>FUSE &#20860;&#23481;&#24211;</strong>&#25110;&#33021;&#22815;&#25346;&#36733; SMB &#20849;&#20139;&#30340; POSIX &#31995;&#32479;&#12290;&#30001;&#20110;&#23427;&#26159;&#29992; Python 3.5 &#32534;&#20889;&#30340;&#65292;&#22240;&#27492;&#21487;&#20197;&#20351;&#29992; pip3 &#21253;&#31649;&#29702;&#22120;&#36827;&#34892;&#23433;&#35013;&#12290;&#22914;&#26524;&#23578;&#26410;&#23433;&#35013; pip&#65292;&#35831;&#21442;&#38405;&#20197;&#19979;&#25351;&#21335;&#12290;<a href="https://www.ostechnix.com/manage-python-packages-using-pip/">&#22914;&#20309;&#20351;&#29992; pip &#31649;&#29702; Python &#21253;</a>&#24182;&#19988;&#20063;&#35201;&#23433;&#35013; FUSE &#24211;&#12290;&#22312;&#22522;&#20110; Debian &#30340;&#31995;&#32479;&#19978;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#20197;&#23433;&#35013; FUSE&#65306;<pre class="prettyprint linenums">$ sudo apt install libfuse2</pre>&#22312; Fedora &#19978;&#65306;<pre class="prettyprint linenums">$ sudo dnf install fuse</pre>&#23433;&#35013;&#23436;&#25152;&#26377;&#24517;&#38656;&#30340;&#20381;&#36182;&#39033;&#21518;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#20197;&#23433;&#35013; dbxfs&#65306;<pre class="prettyprint linenums">$ pip3 install dbxfs</pre>&#22312;&#26412;&#22320;&#25346;&#36733; Dropbox &#25991;&#20214;&#22841;&#21019;&#24314;&#19968;&#20010;&#25346;&#36733;&#28857;&#20197;&#23558; Dropbox &#25991;&#20214;&#22841;&#25346;&#36733;&#21040;&#26412;&#22320;&#25991;&#20214;&#31995;&#32479;&#20013;&#12290;<pre class="prettyprint linenums">$ mkdir ~/mydropbox</pre>&#28982;&#21518;&#65292;&#20351;&#29992; dbxfs &#22312;&#26412;&#22320;&#25346;&#36733; dropbox &#25991;&#20214;&#22841;&#65292;&#22914;&#19979;&#25152;&#31034;&#65306;<pre class="prettyprint linenums">$ dbxfs ~/mydropbox</pre>&#20320;&#23558;&#34987;&#35201;&#27714;&#29983;&#25104;&#19968;&#20010;&#35775;&#38382;&#20196;&#29260;&#65306;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/03/134501xh7z43dcfnalflc3.png">Me…
下载 Linux 游戏的最佳网站

新接触 Linux 游戏并想知道从哪里来 下载 Linux 游戏?我们列出了最好的资源,在这里你既能 下载免费的 Linux 游戏 ,也能购买优质的 Linux 游戏。Media

via https://linux.cn/article-10411-1.html
&#19979;&#36733; Linux &#28216;&#25103;&#30340;&#26368;&#20339;&#32593;&#31449;

&#26032;&#25509;&#35302; Linux &#28216;&#25103;&#24182;&#24819;&#30693;&#36947;&#20174;&#21738;&#37324;&#26469; &#19979;&#36733; Linux &#28216;&#25103;&#65311;&#25105;&#20204;&#21015;&#20986;&#20102;&#26368;&#22909;&#30340;&#36164;&#28304;&#65292;&#22312;&#36825;&#37324;&#20320;&#26082;&#33021; &#19979;&#36733;&#20813;&#36153;&#30340; Linux &#28216;&#25103; &#65292;&#20063;&#33021;&#36141;&#20080;&#20248;&#36136;&#30340; Linux &#28216;&#25103;&#12290;Linux &#21644;&#28216;&#25103;&#65311;&#20174;&#21069;&#65292;&#24456;&#38590;&#24819;&#35937;&#36825;&#20004;&#32773;&#36208;&#21040;&#19968;&#36215;&#12290;&#28982;&#32780;&#38543;&#30528;&#26102;&#38388;&#27969;&#36893;&#65292;&#24456;&#22810;&#20107;&#24773;&#37117;&#22312;&#21464;&#21270;&#12290;&#21040;&#22914;&#20170;&#65292;&#26377;&#25104;&#21315;&#19978;&#19975;&#22312; Linux &#19978;&#21487;&#20197;&#29609;&#30340;&#28216;&#25103;&#65292;&#32780;&#22823;&#20844;&#21496;&#21644;&#29420;&#31435;&#24320;&#21457;&#32773;&#20204;&#27491;&#22312;&#24320;&#21457;&#26356;&#22810;&#30340;&#28216;&#25103;&#12290;<a href="https://linux.cn/article-7316-1.html">&#22312; Linux &#19978;&#29609;&#28216;&#25103;</a> &#29616;&#22312;&#24050;&#32463;&#26159;&#29616;&#23454;&#12290;&#20170;&#22825;&#25105;&#20204;&#23558;&#21435;&#30475;&#30475;&#65292;&#20320;&#22312;&#21738;&#37324;&#21487;&#20197;&#25214;&#21040; Linux &#24179;&#21488;&#28216;&#25103;&#12289;&#25628;&#32034;&#21040;&#20320;&#21916;&#27426;&#30340;&#28216;&#25103;&#12290;&#22312;&#21738;&#37324;&#26469;&#19979;&#36733; Linux &#28216;&#25103;&#65311;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/03/143700nn81vt4nnvt4tx8v.jpg">&#19979;&#36733; Linux &#28216;&#25103;&#30340;&#32593;&#31449;</a>&#39318;&#20808;&#65292;&#30475;&#30475;&#20320;&#30340; Linux &#21457;&#34892;&#29256;&#30340;&#36719;&#20214;&#20013;&#24515;&#65288;&#22914;&#26524;&#26377;&#30340;&#35805;&#65289;&#12290;&#22312;&#36825;&#37324;&#20320;&#20063;&#33021;&#25214;&#21040;&#22823;&#37327;&#30340;&#28216;&#25103;&#12290;&#20294;&#26159;&#65292;&#36825;&#19981;&#24847;&#21619;&#30528;&#20320;&#24212;&#35813;&#23558;&#33258;&#24049;&#30340;&#35270;&#37326;&#23616;&#38480;&#20110;&#36719;&#20214;&#20013;&#24515;&#19978;&#12290;&#35753;&#25105;&#20204;&#26469;&#20026;&#20320;&#21015;&#20986;&#19968;&#20123;&#21487;&#20197;&#19979;&#36733; Linux &#28216;&#25103;&#32593;&#31449;&#12290;1. Steam&#22914;&#26524;&#20320;&#26159;&#32769;&#32451;&#30340;&#29609;&#23478;&#65292;&#20320;&#24212;&#35813;&#21548;&#36807; Steam&#12290;&#22914;&#26524;&#20320;&#36824;&#19981;&#30693;&#36947;&#30340;&#35805;&#65292;&#27809;&#38169;&#65292;Steam &#22312; Linux &#19978;&#20063;&#26159;&#21487;&#29992;&#30340;&#12290;Steam &#25512;&#33616;&#36816;&#34892;&#22312; Ubuntu &#19978;&#65292;&#20294;&#26159;&#23427;&#20063;&#33021;&#36816;&#34892;&#22312;&#20854;&#23427;&#20027;&#35201;&#30340;&#21457;&#34892;&#29256;&#19978;&#12290;&#22914;&#26524;&#20320;&#30495;&#30340;&#23545; Steam &#24456;&#29378;&#28909;&#65292;&#36825;&#37324;&#29978;&#33267;&#36824;&#26377;&#19968;&#20010;&#29609; Steam &#28216;&#25103;&#30340;&#19987;&#29992;&#25805;&#20316;&#31995;&#32479;&#65306;<a href="http://store.steampowered.com/steamos/">SteamOS</a>&#12290;&#25105;&#20204;&#22312;&#19978;&#19968;&#24180; <a href="https://itsfoss.com/linux-gaming-distributions/">&#26368;&#20339;&#30340; Linux &#28216;&#25103;&#21457;&#34892;&#29256;</a> &#25991;&#31456;&#20013;&#25552;&#21450;&#20102;&#23427;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/03/143701wzqqs5hets8nqv4i.jpg">Steam &#21830;&#24215;</a>Steam &#26377;&#26368;&#22823;&#30340; Linux &#28216;&#25103;&#21830;&#24215;&#12290;&#24403;&#20889;&#36825;&#31687;&#25991;&#31456;&#30340;&#26102;&#20505;&#65292;&#22312; Linux &#24179;&#21488;&#19978;&#65292;&#30830;&#20999;&#22320;&#35828;&#26377; 3487 &#27454;&#28216;&#25103;&#6…
在 Linux 终端上观看 YouTube 视频

视频只能在 GUI 下看么?再想想。Media

via https://linux.cn/article-10412-1.html
&#22312; Linux &#32456;&#31471;&#19978;&#35266;&#30475; YouTube &#35270;&#39057;

&#35270;&#39057;&#21482;&#33021;&#22312; GUI &#19979;&#30475;&#20040;&#65311;&#20877;&#24819;&#24819;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/04/094842dm9jhmg99meolcqm.png">Media</a>&#25105;&#20204;&#21363;&#23558;&#32467;&#26463;&#20026;&#26399; 24 &#22825;&#30340; Linux &#21629;&#20196;&#34892;&#29609;&#20855;&#26085;&#21382;&#12290;&#24076;&#26395;&#20320;&#19968;&#30452;&#22312;&#30475;&#65292;&#22914;&#26524;&#27809;&#26377;&#65292;&#35831;&#22238;&#21040;<a href="https://opensource.com/article/18/12/linux-toy-boxes">&#36825;&#37324;</a>&#24320;&#22987;&#65292;&#33258;&#24049;&#35797;&#35797;&#12290;&#20320;&#20250;&#21457;&#29616; Linux &#32456;&#31471;&#26377;&#24456;&#22810;&#28216;&#25103;&#65292;&#28040;&#36963;&#21644;&#22855;&#24618;&#30340;&#19996;&#35199;&#12290;&#34429;&#28982;&#20320;&#20043;&#21069;&#21487;&#33021;&#24050;&#32463;&#30475;&#36807;&#25105;&#20204;&#26085;&#21382;&#20013;&#30340;&#19968;&#20123;&#29609;&#20855;&#65292;&#20294;&#25105;&#20204;&#24076;&#26395;&#23545;&#27599;&#20010;&#20154;&#33267;&#23569;&#26377;&#19968;&#20010;&#26032;&#20107;&#29289;&#12290;&#20170;&#22825;&#25105;&#20204;&#35201;&#22312;&#26152;&#22825;&#30340;&#29609;&#20855; <a href="https://linux.cn/article-10393-1.html">MPlayer</a> &#19978;&#20877;&#21152;&#19978;&#19968;&#20010; <a href="https://rg3.github.io/youtube-dl/">youtube-dl</a>&#12290;&#27491;&#22914;&#20854;&#21517;&#31216;&#25152;&#26263;&#31034;&#30340;&#37027;&#26679;&#65292;youtube-dl &#26159;&#19968;&#20010;&#29992;&#20110;&#19979;&#36733; YouTube &#35270;&#39057;&#30340;&#21629;&#20196;&#34892;&#31243;&#24207;&#65292;&#20294;&#23427;&#20063;&#21487;&#20197;&#20174;&#20854;&#20182;&#35768;&#22810;&#31449;&#28857;&#19979;&#36733;&#35270;&#39057;&#65292;&#32780;&#19988;&#23427;&#26159;&#19968;&#20010;&#26377;&#30528;<a href="https://github.com/rg3/youtube-dl/blob/master/README.md#readme">&#20016;&#23500;&#25991;&#26723;</a>&#30340;&#21151;&#33021;&#40784;&#20840;&#30340;&#31243;&#24207;&#65292;&#20174;&#32780;&#20351;&#35270;&#39057;&#33719;&#21462;&#21464;&#24471;&#23481;&#26131;&#12290;&#27880;&#24847;&#65306;&#35831;&#21247;&#22312;&#20219;&#20309;&#36829;&#21453;&#20320;&#25152;&#22312;&#21496;&#27861;&#36758;&#21306;&#30340;&#29256;&#26435;&#27861;&#30340;&#24773;&#20917;&#19979;&#20351;&#29992; youtube-dl&#12290;youtube-dl &#20351;&#29992;&#30340;&#26159; <a href="https://unlicense.org/">Unlicense</a> &#36825;&#20010;&#20844;&#20849;&#39046;&#22495;&#35768;&#21487;&#65292;&#31867;&#20284;&#20110; Creative Common &#30340; <a href="https://creativecommons.org/share-your-work/public-domain/cc0/">CC0</a>&#12290;&#36825;&#37324;&#36824;&#26377;&#21738;&#20123;&#20844;&#20849;&#39046;&#22495;&#36129;&#29486;&#36866;&#29992;&#20110;&#24320;&#28304;&#39046;&#22495;&#30340;<a href="https://opensource.org/faq#public-domain">&#27861;&#24459;&#24847;&#35265;</a>&#65292;&#20294;&#23427;&#36890;&#24120;&#34987;&#35748;&#20026;&#19982;&#29616;&#26377;&#30340;&#24320;&#28304;&#35768;&#21487;&#35777;&#20860;&#23481;&#65292;&#21363;&#20351;&#26159;&#19981;&#25512;&#33616;&#20351;&#29992;&#23427;&#30340;&#32452;&#32455;&#20063;&#26159;&#22914;&#27492;&#12290;&#26368;&#31616;&#21333;&#22320;&#65292;&#25105;&#20204;&#23558;&#20351;&#29992; youtube-dl &#26469;&#33719;&#21462;&#35270;&#39057;&#20197;&#20415;&#22312;&#32456;&#31471;&#20013;&#25773;&#25918;&#12290;&#39318;&#20808;&#65292;&#20351;&#29992;&#36866;&#29992;&#20110;&#20320;&#21457;&#34892;&#29256;&#30340;&#26041;&#27861;<a href="https://github.com/rg3/youtube-dl/blob/master/README.md#installation">&#23433;&#35013;</a>&#23427;&#12290;&#23545;&#25105;&#26469;&#35828;&#65292;&#22312; Fedora &#20013;&#65292;&#23427;&#34987;&#25171;&#21253;&#22312;&#25105;&#30340;&#20179;&#24211;&#20013;&#65292;&#22240;&#27492;&#23433;&#35013;&#38750;&#24120;&#31616;&#21333;&#65306;<pre class="prettyprint linenums">$ sudo dnf…
使用 Xfce Linux 桌面环境的 8 个理由

整体上很优雅的 Xfce 桌面所具备的足够轻巧和快速的特性能够让它很容易都知道如何做好一件事。Media

via https://linux.cn/article-10413-1.html
&#20351;&#29992; Xfce Linux &#26700;&#38754;&#29615;&#22659;&#30340; 8 &#20010;&#29702;&#30001;

&#25972;&#20307;&#19978;&#24456;&#20248;&#38597;&#30340; Xfce &#26700;&#38754;&#25152;&#20855;&#22791;&#30340;&#36275;&#22815;&#36731;&#24039;&#21644;&#24555;&#36895;&#30340;&#29305;&#24615;&#33021;&#22815;&#35753;&#23427;&#24456;&#23481;&#26131;&#37117;&#30693;&#36947;&#22914;&#20309;&#20570;&#22909;&#19968;&#20214;&#20107;&#12290;<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/04/224757c2dxwzkaw2ue5jwc.png">Media</a>&#30001;&#20110;&#26576;&#20123;&#21407;&#22240;&#65288;&#20063;&#21253;&#25324;&#22909;&#22855;&#65289;&#65292;&#20960;&#21608;&#21069;&#25105;&#24320;&#22987;&#20351;&#29992; <a href="https://xfce.org/">Xfce</a> &#20316;&#20026;&#25105;&#30340; Linux &#26700;&#38754;&#12290;&#20419;&#20351;&#25105;&#26356;&#25442; Linux &#26700;&#38754;&#29615;&#22659;&#30340;&#21407;&#22240;&#20043;&#19968;&#26159;&#26700;&#38754;&#30456;&#20851;&#30340;&#23432;&#25252;&#36827;&#31243;&#21344;&#25454;&#20102;&#25105;&#30340;&#24615;&#33021;&#38750;&#24120;&#24378;&#22823;&#30340;&#20027;&#24037;&#20316;&#31449;&#30340;&#32477;&#22823;&#37096;&#20998; CPU &#36164;&#28304;&#21644; I/O &#24102;&#23485;&#12290;&#24403;&#28982;&#65292;&#26377;&#20123;&#19981;&#31283;&#23450;&#24615;&#21487;&#33021;&#26159;&#22240;&#20026;&#25105;&#21024;&#38500;&#20102;&#25552;&#20379;&#36825;&#20123;&#23432;&#25252;&#36827;&#31243;&#30340; RPM &#21253;&#12290;&#28982;&#32780;&#65292;&#20107;&#23454;&#26159;&#22312;&#25105;&#21024;&#38500;&#36825;&#20123; RPM &#21253;&#20043;&#21069;&#65292;KDE &#23601;&#24050;&#32463;&#24456;&#19981;&#31283;&#23450;&#20102;&#32780;&#19988;&#36824;&#23548;&#33268;&#20102;&#19968;&#31995;&#21015;&#20854;&#20182;&#26041;&#38754;&#30340;&#24615;&#33021;&#21644;&#31283;&#23450;&#24615;&#38382;&#39064;&#12290;&#25152;&#20197;&#25105;&#38656;&#35201;&#25442;&#19968;&#20010;&#26700;&#38754;&#26469;&#36991;&#20813;&#36825;&#20123;&#38382;&#39064;&#12290;&#22312;&#22238;&#39038;&#20102;&#25105;&#20026; Linux &#26700;&#38754;&#25152;&#20889;&#30340;&#19968;&#31995;&#21015;&#25991;&#31456;&#21518;&#25105;&#25165;&#24847;&#35782;&#21040;&#25105;&#24573;&#30053;&#20102; Xfce&#12290;&#36825;&#31687;&#25991;&#31456;&#20063;&#26159;&#21147;&#22270;&#33021;&#22815;&#32416;&#27491;&#24357;&#34917;&#36825;&#20010;&#30095;&#24573;&#12290;&#25105;&#38750;&#24120;&#21916;&#27426; Xfce &#20063;&#24456;&#20139;&#21463;&#23427;&#25152;&#24102;&#32473;&#25105;&#36229;&#20046;&#39044;&#26399;&#30340;&#24555;&#36895;&#12289;&#36731;&#37327;&#30340;&#20307;&#39564;&#12290;&#20316;&#20026;&#30740;&#31350;&#30340;&#19968;&#37096;&#20998;&#65292;&#25105;&#26377;&#23581;&#35797;&#36807;&#22312; Google &#19978;&#26597;&#35810; Xfce &#23545;&#24212;&#20160;&#20040;&#24847;&#24605;&#12290;&#26377;&#20010;&#21382;&#21490;&#21442;&#32771;&#26159;&#23427;&#23545;&#24212;&#30528; “XForms Common Environment”&#65292;&#20294; Xfce &#26089;&#24050;&#19981;&#22312;&#20351;&#29992; XForms &#24037;&#20855;&#12290;&#20960;&#24180;&#21069;&#65292;&#25105;&#25214;&#21040;&#21478;&#19968;&#20010;&#21442;&#32771;&#26159; “Xtra fine computing environment” &#32780;&#19988;&#25105;&#20063;&#24456;&#21916;&#27426;&#36825;&#20010;&#35299;&#37322;&#12290;&#25105;&#23558;&#20250;&#29992;&#23427;&#20316;&#20026; Xfce &#30340;&#20840;&#31216;&#65288;&#23613;&#31649;&#20877;&#20063;&#25214;&#19981;&#21040;&#36825;&#20010;&#21442;&#32771;&#39029;&#38754;&#65289;&#12290;&#25512;&#33616; Xfce &#30340; 8 &#20010;&#29702;&#30001;1&#12289;&#36731;&#37327;&#32423;&#26550;&#26500;Xfce &#30456;&#23545;&#20110;&#20854;&#20182;&#30340;&#26700;&#38754;&#22914; KDE &#21644; GNOME&#65292;&#19981;&#31649;&#26159;&#20869;&#23384;&#36824;&#26159; CPU &#30340;&#21344;&#29992;&#29575;&#37117;&#38750;&#24120;&#23567;&#12290;&#22312;&#25105;&#30340;&#31995;&#32479;&#20013;&#65292;&#32452;&#25104; Xfce &#26700;&#38754;&#30340;&#31243;&#24207;&#20165;&#21344;&#29992;&#20102;&#23569;&#37…
McFly:利用神经网络为 Bash 提供历史命令搜索功能

McFly 是一个使用 Rust 编程语言写就的简洁工具,自带一个智能的搜索引擎,用来替换默认的 Ctrl+r 这个 Bash 历史命令搜索功能。 McFly 提供的命令建议都是通过一个小巧的 神经网络 来实时排序给出的。Media

via https://linux.cn/article-10414-1.html