<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux &#8211; Yuanle&#039;s Blog</title>
	<atom:link href="https://blog2.emacsos.com/tag/linux/feed" rel="self" type="application/rss+xml" />
	<link>https://blog2.emacsos.com</link>
	<description></description>
	<lastBuildDate>Sat, 20 Sep 2025 12:53:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog2.emacsos.com/wp-content/uploads/2025/05/favicon-150x150.png</url>
	<title>Linux &#8211; Yuanle&#039;s Blog</title>
	<link>https://blog2.emacsos.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cloud Provider Free Tier Services</title>
		<link>https://blog2.emacsos.com/cloud-provider-free-tier-services.html</link>
		
		<dc:creator><![CDATA[sylecn]]></dc:creator>
		<pubDate>Sat, 20 Sep 2025 12:53:00 +0000</pubDate>
				<category><![CDATA[Cloud Service]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://blog2.emacsos.com/?p=107</guid>

					<description><![CDATA[Oracle Cloud Oracle Cloud has an always free tier, providing arm(aarch64) Ampere server with 24GB RAM and enough disk space [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Oracle Cloud</h2>



<p>Oracle Cloud has an always free tier, providing arm(aarch64) Ampere server with 24GB RAM and enough disk space to get you started. It provides significant value for customers. Does other cloud provider offer free tier compute services like this?</p>



<h2 class="wp-block-heading"> Google Cloud Platform (GCP)</h2>



<p>Compute Engine: One e2-micro instance (0.25–0.5 vCPU, 1 GB RAM) per month in select regions (e.g., Iowa, Oregon, South Carolina), with 30 GB HDD and 1 GB egress.</p>



<h2 class="wp-block-heading">Amazon Web Service (AWS)</h2>



<p>No free VM, only free lambda service.</p>



<h2 class="wp-block-heading">Microsoft Azure</h2>



<p>One free VM for 1 year. After that no free VM, only limited function (serverless), container, static web app.</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Linux IPv6 debug checklist</title>
		<link>https://blog2.emacsos.com/linux-ipv6-debug-checklist.html</link>
		
		<dc:creator><![CDATA[sylecn]]></dc:creator>
		<pubDate>Tue, 13 May 2025 03:31:08 +0000</pubDate>
				<category><![CDATA[Linux Server and Sysadmin]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[sysadmin]]></category>
		<guid isPermaLink="false">https://blog2.emacsos.com/?p=82</guid>

					<description><![CDATA[If IPv6 is not working properly in Linux, here are steps you can follow to debug the issue. check kernel [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>If IPv6 is not working properly in Linux, here are steps you can follow to debug the issue.</p>



<h2 class="wp-block-heading">check kernel boot param</h2>



<ol class="wp-block-list"></ol>



<p>Check these two files</p>



<pre class="wp-block-code"><code>cat /proc/cmdline
cat /etc/default/grub</code></pre>



<p>If <code>ipv6.disable=1</code> is set, the kernel IPv6 stack will be disabled. If <code>ipv6.disable_ipv6=1</code> is set, the kernel keeps the IPv6 stack functional but will not assign IPv6 addresses to any of your network devices.</p>



<p>Make sure you do not use any of these kernel options if you want to use IPv6.</p>



<h2 class="wp-block-heading">check interface disable_ipv6 settings</h2>



<pre class="wp-block-code"><code>sysctl net.ipv6.conf.lo.disable_ipv6
sysctl net.ipv6.conf.eno1.disable_ipv6
# -r list all values matching this pattern
sysctl -r 'net.ipv6.conf.*.disable_ipv6' net.ipv6.conf</code></pre>



<p>Make sure all of the interfaces that you want to have ipv6 enabled has <code>disable_ipv6=0</code>. Specifically, you SHOULD also enable ipv6 on <code>lo</code> interface. You should also enable IPv6 on Linux bridge and the physical interface that it is connected to.</p>



<h2 class="wp-block-heading">check interface RA settings if you use SLAAC</h2>



<p>RA stands for router advertisement. It is a broadcast packet that allow configuration of IP address and routing. SLAAC relies on RA to work.</p>



<pre class="wp-block-code"><code>sysctl net.ipv6.conf.all.accept_ra
# replace vmbr0 with your interface
sysctl net.ipv6.conf.vmbr0.accept_ra</code></pre>



<p>It should be 1 or 2 depending on your device.<br>If it&#8217;s 0, you need to set this at boot time. e.g. in <code>/etc/network/interfaces</code></p>



<p><a href="https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html">To learn more about <code>accept_ra</code> param, see Linux kernel document.</a> Search <code>accept_ra</code> in that page.</p>



<p>For example, on one of my promox VE node, I have</p>



<pre class="wp-block-code"><code>auto vmbr0
iface vmbr0 inet static
        address 192.168.2.47/24
        gateway 192.168.2.1
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0
iface vmbr0 inet6 auto
        accept_ra 2</code></pre>



<p>If you doubt whether RA is working properly, run <code>tcpdump</code> to capture the packet and view it in wireshark.</p>



<pre class="wp-block-code"><code># replace INTERFACE with your interface name
sudo tcpdump -i INTERFACE -w /tmp/ra_packets.pcap 'icmp6 and (ip6&#91;40] = 134 or ip6&#91;40] = 133)'</code></pre>



<h2 class="wp-block-heading">check lo ip6-loopback ping</h2>



<pre class="wp-block-code"><code>ping6 ::1<br>ping6 ip6-loopback</code></pre>



<h2 class="wp-block-heading">check local hostname is ipv6 resolvable</h2>



<p>in <code>/etc/hosts</code><br>::1 entry should include your fqdn</p>



<h2 class="wp-block-heading">check whether ipv6 address is assigned on interface</h2>



<pre class="wp-block-code"><code>ip -6 a<br>ip -6 a vmbr0</code></pre>



<p>If your IPv6 network use <a href="https://howdoesinternetwork.com/2013/slaac">SLAAC</a>, IP address should be assigned automatically. One interface usually has one public IPv6 address (starts with <code>2x:xx:xx</code>) and more than one private IPv6 address (starts with <code>fx:xx:xx</code>).</p>



<p>If your IPv6 network use DHCPv6 only, you should config DHCP in <code>/etc/network/interface</code> or corresponding RHEL config file or Network Manager config file. To just test DHCPv6 is working, you can run:</p>



<pre class="wp-block-code"><code>dhclient -6 INTERFACE</code></pre>



<h2 class="wp-block-heading">check ipv6 routes is added</h2>



<pre class="wp-block-code"><code>ip -6 r
ip -6 r | grep default</code></pre>



<p>IPv6 routes are added by clients via RA (router advertisement).</p>



<p>Make sure the default route either has no expire field or has a good expire field. In <a href="https://openwrt.org/">openwrt</a> default config, default route expire should be between 1200s and 1800s. If it&#8217;s less than 1200s, RA is not properly received and processed by host.</p>



<p>In some home server, if you enable IPv6 on IPMI/SBC/iLO/iDrac and use the shared network port, host OS will no longer receive the RA packet. You may see low expire on default route or missing a default route. In that case, you should disable IPv6 on IPMI.</p>



<h2 class="wp-block-heading">check IPv6 neighbors for nodes in the same LAN</h2>



<pre class="wp-block-code"><code>ip -6 n show|grep -v -E '(FAILED|STALE)'</code></pre>



<p>At least one router should be listed when IPv6 is working. You can compare results on different nodes in the same LAN.</p>



<h2 class="wp-block-heading">check you can visit other IPv6 nodes on the Internet</h2>



<pre class="wp-block-code"><code>ping6 aliyun.com
curl -6 https://aliyun.com
curl -I -6 https://mirrors.tuna.tsinghua.edu.cn/
# test whether your OS prefer IPv6 or IPv4 when both are available
curl test.ipw.cn</code></pre>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Intel AX200 bluetooth and wifi suddenly not working in Linux GNOME</title>
		<link>https://blog2.emacsos.com/fix-intel-ax200-bluetooth.html</link>
		
		<dc:creator><![CDATA[sylecn]]></dc:creator>
		<pubDate>Sun, 04 May 2025 04:36:46 +0000</pubDate>
				<category><![CDATA[Linux Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tip]]></category>
		<guid isPermaLink="false">https://blog2.emacsos.com/?p=14</guid>

					<description><![CDATA[Symptom You can&#8217;t toggle bluetooth on/off in GNOME applets. rfkill list show bluetooth is not blocked. bluetoothctl list show empty [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Symptom</h2>



<p>You can&#8217;t toggle bluetooth on/off in GNOME applets.</p>



<p><code>rfkill list</code> show bluetooth is not blocked.</p>



<p><code>bluetoothctl list</code> show empty bluetooth controller list.</p>



<h2 class="wp-block-heading">Solution</h2>



<pre class="wp-block-code"><code>sudo modprobe -r btusb<br>sudo modprobe btusb</code></pre>



<p>This will unload and reload btusb module, which may be able to fix the issue.</p>



<p>ref: <a href="https://bbs.archlinux.org/viewtopic.php?id=272643">[SOLVED] No bluetooth adaptater on AX200 / Kernel &amp; Hardware / Arch Linux Forums</a></p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Units Tool in Linux</title>
		<link>https://blog2.emacsos.com/the-units-tool.html</link>
		
		<dc:creator><![CDATA[sylecn]]></dc:creator>
		<pubDate>Sun, 23 Oct 2016 10:14:00 +0000</pubDate>
				<category><![CDATA[Linux Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tool]]></category>
		<guid isPermaLink="false">https://blog2.emacsos.com/?p=59</guid>

					<description><![CDATA[GNU Units can be used for many things. It is such a useful tool that I always install it on all [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.gnu.org/software/units/">GNU Units</a> can be used for many things. It is such a useful tool that I always install it on all Linux nodes.</p>



<p>Here is how I use it:</p>



<p>Convert network speed. ISPs and network device use <em>bit per second</em>, downloaders usually use <em>byte per second</em>.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units 1000Mbps MiB/s
; 119.21 MiB/s
units 100Mbps MiB/s
; 11.92 MiB/s
units 20Mbps MiB/s
; 2.38 MiB/s
units 4Mbps KiB/s
; 488 KiB/s
</pre></div>


<p>Calculate average download speed</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units 800MiB/25min KiB/s
; 546.1 KiB/s
</pre></div>


<p>Convert hard drive space. Operating systems show GiB/TiB, while vendors use GB/TB.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units 1TB GiB
; 931.3 GiB
units 2TB GiB
; 1862.6 GiB
</pre></div>


<p>You can do calculation too. For example, if you have 24 16TB disks. Each data is stored in 3 replicas. At 80% capacity, you may store up to</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
units 16TB*24/3*0.8 TiB
; 93.13 TiB
</pre></div>


<p>Do time calculations</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units &#039;2 hour + 34 min + 1 day&#039;
; 95640 s
units &#039;2 hour + 34 min + 1 day&#039; hour
; 26.6 hour
units 8mo weeks
; 34.8 weeks
</pre></div>


<p>Convert between tps and maximum possible total request per day</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units 132tps req/day
; 11404800 req/day
units 132tps million*req/day
; 11.4 million*req/day
</pre></div>


<p>Convert between (single node) tps and average response time</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units 132tps ms/req
; 7.5 ms/req
</pre></div>


<p>Convert foreign currency to local currency</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
units 39.99hkd usd
; 5.1 usd

units 500hkd/mo usd/year
; 765 usd/year
</pre></div>


<p>You may have notice some units are not built-in. Units allow you to define your own units very easily. Here is my <code>~/.units</code> file:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
word    !
words   1 word

rmb     !
cny     rmb
RMB     rmb
hkd     0.9393 rmb
aud     4.6608 rmb
usd     7.2959 rmb
eur     8.266 rmb
euro    eur
gbp     9.7282 rmb
GBp     0.01gbp
jpy     0.050583 rmb
sgd     5.5781 rmb
s$      sgd
inr     0.081919 rmb
rs      inr
mvr     0.4637 rmb
laari   0.01 mvr

request !
req     request
r       request
tps     req/s

BTC     64219 usd
bitcoin 1 BTC
btc     BTC

ETH     3490 usd
Ether    1 ETH
Ethereum 1 ETH
eth      ETH

# units 0K tempC
# units 0K tempF

core    !

jin     0.5kg

char    !

share   !

w       10000
yi      100000000

tx      !
transaction   tx
trans   tx

kwh     1000*watt*hour

</pre></div>


<p>You can define basic unit by using &#8216;!&#8217;, you can define unit alias, you can define conversion. See&nbsp;<code>man units</code>&nbsp;for more information.</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Why I Choose Debian Over Ubuntu, Arch Linux, Gentoo, FreeBSD</title>
		<link>https://blog2.emacsos.com/why-debian.html</link>
		
		<dc:creator><![CDATA[sylecn]]></dc:creator>
		<pubDate>Sun, 21 Aug 2016 03:30:00 +0000</pubDate>
				<category><![CDATA[Linux Server and Sysadmin]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://blog2.emacsos.com/?p=89</guid>

					<description><![CDATA[Debian is my favorite Linux distro, as you may already know from my technology radar. In this post, I will [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.debian.org/" target="_blank" rel="noreferrer noopener">Debian</a> is my favorite Linux distro, as you may already know from <a href="https://blog.emacsos.com/tech-radar.html" target="_blank" rel="noreferrer noopener">my technology radar</a>. In this post, I will tell you what features I need in a distro and why I choose Debian. Note that all distros in title are good ones, that&#8217;s why I list them for comparison.</p>



<p>Of the choices in title, I have used Ubuntu, Debian and FreeBSD. I had evaluated Arch Linux and Gentoo to a great extend and decide not to use them. I have started to use Linux since around 2005. The first distros that got me interested in Linux was Red Hat Linux 9 and Fedora Core 4. I remember the days when I burned Fedora Core 4 and Ubuntu 6.10 CDs and gave them to others when I was in college. And Ubuntu sent free CDs with free shipping all over the world at that time.</p>



<p>Without further ado, let&#8217;s talk about features I care in Linux distro.</p>



<h2 class="wp-block-heading" id="sec-1">Stable Release Instead of Rolling Release</h2>



<p>Actually rolling release means no release at all. In stable release, the kernel and package are tested, work together well and the feature set is frozen. Security or critical bug fix patches are provided without breaking backward compatibility. Stable release also means there is a documented process of upgrading old release to a new one. All backward incompatible changes are well documented.</p>



<p>Using a stable release doesn&#8217;t mean you have to stick with old versions of software. You can always compile the software you do want. For example, I used to compile <a href="http://www.mplayerhq.hu/" target="_blank" rel="noreferrer noopener">mplayer</a> and <a href="https://www.gnu.org/software/emacs/" target="_blank" rel="noreferrer noopener">Emacs</a> in Debian stable. Some software encourage you to use an official build, such as <a href="https://www.bugzilla.org/" target="_blank" rel="noreferrer noopener">bugzilla</a>. Some software have latest build maintained for Debian stable, such as <a href="https://www.postgresql.org/" target="_blank" rel="noreferrer noopener">postgresql</a>. You are definitely not constrained by the software version that is in Debian stable&#8217;s apt repository. A stable release will make sure the underlying system and library is solid, if you want to get latest applications, go ahead. On the Linux desktop, <a href="https://appimage.org/" target="_blank" rel="noreferrer noopener">AppImage</a> and <a href="https://flatpak.org/" target="_blank" rel="noreferrer noopener">Flatpak</a> is also becoming more popular. If you want to get <a href="https://obsproject.com/download#linux" target="_blank" rel="noreferrer noopener">OBS</a> or <a href="https://www.digikam.org/download/" target="_blank" rel="noreferrer noopener">DigiKam</a>, there is a build for any Linux. Personally I still prefer OS native builds though.</p>



<p>If you want to learn more about how a stable release is made. Read <a href="https://release.debian.org/" target="_blank" rel="noreferrer noopener">Debian Release Management</a> or <a href="https://www.freebsd.org/doc/en/articles/releng/index.html" target="_blank" rel="noreferrer noopener">FreeBSD&#8217;s release engineering</a>. If you are a developer or project manager, you know making a good release is hard.</p>



<p>This rules out Arch Linux, which is a rolling release. Rolling release doesn&#8217;t mean install once and upgrade forever. It&#8217;s more like every package may break at every upgrade. You need to test software you use in a stage environment by yourself if you don&#8217;t want surprises. This also rules out Ubuntu non-LTS releases. I don&#8217;t call it a release anymore.</p>



<h2 class="wp-block-heading" id="sec-2">Binary Packages Instead of Source Packages</h2>



<p>Unless you only use a fixed set of packages and rarely upgrade them, binary packages will greatly simplify and speed up software installation. Even if you have a fairly powerful machine, it still cause great pain if a low level library requires an update, which triggers a chain of recompiles. I was bitten by this once while I was using FreeBSD. For some dedicated web or database server, this may not be a big problem.</p>



<p>A side note for python developers. Since this year (2016), most <a href="https://pypi.python.org/pypi" target="_blank" rel="noreferrer noopener">PyPI packages</a> are in wheel binary format, which makes installing faster and easier. It&#8217;s amazing that <a href="https://m.reddit.com/r/Python/comments/4jaaib/pypi_download_stats_have_stopped_working_again/d355dt6" target="_blank" rel="noreferrer noopener">PyPI is developed and maintained by a single person</a>.</p>



<p>This rules out Gentoo and FreeBSD ports.</p>



<h2 class="wp-block-heading" id="sec-3">Large Selection of Software and Large User Base</h2>



<p>The core team should maintain a large selection of software, so if there are problems, they can be exposed and handled inside the project. Large user base means if you hit a problem, it&#8217;s likely there is already a fix or a workaround.</p>



<p>This rules out FreeBSD. Its binary package system is not as sophisticated as Debian&#8217;s. Binary packages and ports are not part of the official release.</p>



<p>Edit: In 2025, FreeBSD 14 offers significantly more binary packages than it did in 2016. If your hardware runs well on FreeBSD and you don&#8217;t need any Linux-only non-free software, you should give FreeBSD a try.</p>



<h2 class="wp-block-heading" id="sec-4">Worldwide Mirrors for Packages</h2>



<p>This will speed up operating system install and upgrade, and package install greatly.</p>



<h2 class="wp-block-heading" id="sec-5">Honor Mentions About Other Distro</h2>



<p>RedHat Enterprise Linux (RHEL)/Oracle Linux/Amazon Linux, Ubuntu LTS, OpenSUSE.</p>



<p>RHEL is very similar to Debian, if you prefer RedHat&#8217;s way of doing things, they are good choices. Also, RHEL has the best documentation between RHEL, Ubuntu and Debian. The document quality order from high to low is RHEL, Debian, Ubuntu. You do need to register an account to view most of the documents though.</p>



<p>Oracle Linux and Amazon Linux are derived from RHEL (or CentOS-stream, Fedora). If you run on <a href="https://www.oracle.com/cloud/" target="_blank" rel="noreferrer noopener">Oracle Cloud</a> or <a href="https://aws.amazon.com/" target="_blank" rel="noreferrer noopener">AWS</a>, you may use these flavors. They behave similarly to RHEL and do not require a paid license to use. In comparison, the RHEL does require a license to use in mass production. There is a <a href="https://developers.redhat.com/articles/faqs-no-cost-red-hat-enterprise-linux" target="_blank" rel="noreferrer noopener">no-cost RHEL developer license</a> that you can use in development environment and small production environment. There are a few community versions of RHEL re-pack when CentOS is acquired and discontinued by RedHat, such as <a href="https://rockylinux.org/" target="_blank" rel="noreferrer noopener">RockyLinux</a> and <a href="https://almalinux.org/" data-type="link" data-id="https://almalinux.org/" target="_blank" rel="noreferrer noopener">AlmaLinux</a>. The offer binary compatibility with RHEL. But the default dnf repo and management tools are not all the same.</p>



<p>Ubuntu LTS, although the release is not as good as Debian, does have a large user base and a long term support (LTS). That makes it a much better choice than Ubuntu non-LTS release. Ubuntu LTS also got commercial support if you needs that. I found Ubuntu&#8217;s release not as stable as Debian. That&#8217;s why I always choose Debian over Ubuntu LTS. Only choose Ubuntu LTS only if you want to purchase support from <a href="https://canonical.com/" target="_blank" rel="noreferrer noopener">Canonical</a>.</p>



<p>I have not used OpenSUSE for real, so I won&#8217;t remark on them. Based on short experience of OpenSUSE Leap, the installer is very enterprisy. Side note: I think <a href="https://openbuildservice.org/" target="_blank" rel="noreferrer noopener">Open Build Service</a> (e.g. <a href="https://build.opensuse.org/" target="_blank" rel="noreferrer noopener">OpenSUSE OBS</a>) is a cool project, which works for all Linux projects and distros. But I haven&#8217;t tried it yet.</p>



<p>Edit: CentOS is acquired by RedHat and <a href="https://blog.centos.org/2020/12/future-is-centos-stream/" target="_blank" rel="noreferrer noopener">rebrand to CentOS stream</a>. Added notes on Oracle Linux, Amazon Linux and some CentOS remakes.</p>



<p>If you need advice on choosing a Linux distro, you can leave a comment or email me. Do tell me what you want to do with Linux so the advice could be specific to your use case.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Software that I use in Linux</title>
		<link>https://blog2.emacsos.com/linux-software.html</link>
		
		<dc:creator><![CDATA[sylecn]]></dc:creator>
		<pubDate>Sat, 23 Jul 2016 13:03:21 +0000</pubDate>
				<category><![CDATA[Linux Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[list]]></category>
		<guid isPermaLink="false">https://blog2.emacsos.com/?p=22</guid>

					<description><![CDATA[Updated On: 2016-10-23, 2025-05-05 Here are software that I use often in Linux. General name area my rate my remarks [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Updated On: 2016-10-23, 2025-05-05</p>



<p>Here are software that I use often in Linux.</p>



<h2 class="wp-block-heading">General</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>name</th><th>area</th><th>my rate</th><th>my remarks</th></tr></thead><tbody><tr><td>Firefox</td><td>browser</td><td>great</td><td>It may not be as fast as Chrome, but I like the option and prefer using it than Chrome. Also, Firefox Sync works inside China. Chrome web store and syncing requires extra effort in China.</td></tr><tr><td>Google Chrome</td><td>browser</td><td>great</td><td>A great browser. The device mode is much more accurate than Firefox&#8217;s Responsive Design View. Overall a nice browser.</td></tr><tr><td><a href="https://mpv.io/" target="_blank" rel="noreferrer noopener">mpv</a></td><td>media player</td><td>great</td><td>Best video player with Dolby Vision support. Support both mouse and keyboard controls.</td></tr><tr><td><a href="https://www.videolan.org/vlc/" target="_blank" rel="noreferrer noopener">VLC</a></td><td>media player</td><td>good</td><td>Cross-platform video player. GUI and settings are boring and not intuitive. Bad support for Dolby Vision.</td></tr><tr><td>Audacious</td><td>music player</td><td>good</td><td>Easy to use.</td></tr><tr><td>transmission</td><td>download</td><td>great</td><td>A reliable BitTorrent client. Intuitive UI. Also supports running on a server. 4.x is a great release that brings many improvements.</td></tr><tr><td>GIMP</td><td>image editing</td><td>good</td><td>Enough features for many use cases. UI is fine too once you get used to it.</td></tr><tr><td>ImageMagick</td><td>image processing</td><td>good</td><td>Convert image formats and resize images.</td></tr><tr><td>7-zip</td><td>archive</td><td>great</td><td>Easy to use.</td></tr><tr><td><a href="https://kodi.tv/" target="_blank" rel="noreferrer noopener">Kodi (XBMC)</a></td><td>media center</td><td>good</td><td>Like Windows Media Center. Good for home theater. Some plugins are nice. Online programs is not fast in China though.</td></tr><tr><td><a href="https://www.gnu.org/software/units/" target="_blank" rel="noreferrer noopener">GNU Units</a></td><td>unit conversion</td><td>great</td><td>A very useful tool. You may check&nbsp;<a href="/the-units-tool.html" target="_blank" rel="noreferrer noopener">the Units Tool in Linux</a>.</td></tr><tr><td>gThumb</td><td>photo viewer</td><td>good</td><td>Boring and works.</td></tr><tr><td>DigiKam</td><td>photo manager</td><td>average</td><td>Have great potential. But in current state, it is not top class.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Programming</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>name</th><th>area</th><th>my rate</th><th>my remarks</th></tr></thead><tbody><tr><td>Emacs</td><td>editor</td><td>great</td><td>Like any good editor, it&#8217;s great once you get used to it.</td></tr><tr><td>git</td><td>version control system</td><td>great</td><td>Good for all textual files, not just for programming.</td></tr><tr><td>bugzilla</td><td>bug tracking</td><td>good</td><td>Battle tested. Excellent backward compatibility and long term maintenance. Who wants to upgrade a BTS every month?</td></tr><tr><td>Jenkins</td><td>continuous integration</td><td>good</td><td>Gets the job done. Remember to config git hooks to trigger a build automatically.</td></tr><tr><td><a href="https://www.gocd.org/" target="_blank" rel="noreferrer noopener">GoCD</a></td><td>continuous delivery</td><td>great</td><td>Manage your CD pipelines. Pipeline templates are useful. Build agents are flexible.</td></tr><tr><td><a href="https://ipython.org/" target="_blank" rel="noreferrer noopener">ipython</a>&nbsp;with&nbsp;<a href="https://pandas.pydata.org/" target="_blank" rel="noreferrer noopener">pandas</a></td><td>data processing</td><td>great</td><td>Dealing with data and plot is so much easier and pleasant.</td></tr><tr><td>postgres</td><td>database</td><td>great</td><td>When you need data safety.</td></tr><tr><td>redis</td><td>cache</td><td>great</td><td>When you need cache or a fast non-critical database.</td></tr><tr><td>sqlite3</td><td>database</td><td>great</td><td>I still use it sometimes when postgres is not available.</td></tr><tr><td><a href="https://www.visual-paradigm.com/" target="_blank" rel="noreferrer noopener">vpuml</a></td><td>UML diagram</td><td>good</td><td>The best UML diagram tool I have used. This is not free software though.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">System</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>name</th><th>area</th><th>my rate</th><th>my remarks</th></tr></thead><tbody><tr><td>Debian</td><td>operating system</td><td>great</td><td>Just use Debian stable, end of story.</td></tr><tr><td>gnome-terminal</td><td>terminal</td><td>great</td><td>Boring and works.</td></tr><tr><td>konsole</td><td>terminal</td><td>great</td><td>Boring and works.</td></tr><tr><td><a href="https://www.virtualbox.org/" target="_blank" rel="noreferrer noopener">VirtualBox</a></td><td>virtualization</td><td>great</td><td>Easy to use GUI. Acceptable performance. Well maintained.</td></tr><tr><td>clash</td><td>network</td><td>good</td><td>Not as stable as v2ray core or ss. But the rule engine is much easier to use.</td></tr><tr><td>gpg</td><td>sign and encryption</td><td>good</td><td>Secure. Integrates well in Emacs. Arcane to use in the command line.</td></tr><tr><td>ssh + tmux</td><td>sysadmin</td><td>great</td><td>Remote system administration should always run in screen or tmux.</td></tr><tr><td>rsync</td><td>network</td><td>great</td><td>All around good backup tool. I have a backup system based on rsync.</td></tr><tr><td>Syncthing</td><td>file syncing</td><td>good</td><td>Generally works well. May require manual intervention when synchronization stalls or file conflicts occur.</td></tr><tr><td>ffmpeg</td><td>media converter</td><td>great</td><td>Very capable video converter.</td></tr><tr><td>aria2</td><td>download</td><td>good</td><td>I use it when I want to use more than 1 thread to download from a single source. Otherwise, I use wget.</td></tr><tr><td>mutt</td><td>mail reading</td><td>good</td><td>Used when reading mail on a server. Yes, I agree all mail client s**ks.</td></tr><tr><td>salt</td><td>configuration manager</td><td>great</td><td>So much better than puppet. I use it to manage both workstation and servers.</td></tr><tr><td>parted/gparted</td><td>partition tool</td><td>good</td><td>Easy to use.</td></tr><tr><td>clonezilla</td><td>disk tool</td><td>good</td><td>When I want to do nasty things on partition, this is very useful.</td></tr><tr><td>lftp</td><td>ftp client</td><td>good</td><td>Supports ftp and sftp well. Support mirror a dir recursively, both for upload and download.</td></tr><tr><td>zerotier</td><td>network</td><td>good</td><td>Create a secure virtual LAN that connects all your devices.</td></tr><tr><td>wireshark</td><td>network</td><td>good</td><td>Capture and analyze network packets</td></tr><tr><td>CUPS</td><td>printing</td><td>good</td><td>Support printers.</td></tr><tr><td><a href="http://omdistro.org/" target="_blank" rel="noreferrer noopener">OMD, CheckMK</a></td><td>monitoring</td><td>good</td><td>A monitoring solution based on nagios and check_mk.</td></tr><tr><td>smokeping</td><td>network</td><td>great</td><td>Monitor network quality. It records packet lose and latency and plot graphs on them.</td></tr><tr><td>remmina</td><td>network</td><td>great</td><td>Support Remote Desktop and VNC.</td></tr><tr><td>qrencode</td><td>graphic</td><td>great</td><td>Generate QR code easily.</td></tr><tr><td>nginx</td><td>network</td><td>great</td><td>My go-to web server and reverse proxy server.</td></tr><tr><td>samba</td><td>network</td><td>great</td><td>Sharing files to Windows and android clients. User document is not as nice. But once you get it, it gets the job done.</td></tr><tr><td><a href="https://letsencrypt.org/" target="_blank" rel="noreferrer noopener">letsencrypt</a>&nbsp;w/&nbsp;<a href="https://acme.sh" target="_blank" rel="noreferrer noopener">acme.sh</a></td><td>network</td><td>good</td><td>Free SSL certs for HTTPS websites.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Office</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>name</th><th>area</th><th>my rate</th><th>my remarks</th></tr></thead><tbody><tr><td>ibus</td><td>input method</td><td>good</td><td>Typing for non-English language. Boring and works.</td></tr><tr><td><a href="https://github.com/iDvel/rime-ice" target="_blank" rel="noreferrer noopener">rime-ice</a></td><td>input method</td><td>great</td><td>雾凇拼音. A well maintained Chinese word table and input method for use with rime input method.</td></tr><tr><td>abiword</td><td>office</td><td>good</td><td>When I want to do simple typesetting (page size, title indentation etc)</td></tr><tr><td>gnumeric</td><td>office</td><td>good</td><td>Gets the job done. Typing and cell/row resizing is not as good as MS Excel.</td></tr><tr><td>LibreOffice</td><td>office</td><td>average</td><td>Used when I need to open MS Office files, but don&#8217;t have access to MS Office. After all these years, LibreOffice usability is still BAD.</td></tr><tr><td>scribus</td><td>publishing</td><td>good</td><td>When layout is important and have to be controlled precisely, I use it.</td></tr><tr><td>GnuCash</td><td>finance</td><td>good</td><td>A good UI and feature set.</td></tr><tr><td>hledger</td><td>finance</td><td>average</td><td>Used this when GnuCash failed to run. I don&#8217;t like the concepts.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Old</h2>



<p>Software that I have used before, but no longer use it now.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>name</th><th>area</th><th>my rate</th><th>my remarks</th></tr></thead><tbody><tr><td>rxvt-unicode</td><td>terminal</td><td>great</td><td>Boring and works.</td></tr><tr><td>v2ray</td><td>network</td><td>good</td><td>v2ray core is stable and support many protocols. Configuration is verbose though.</td></tr><tr><td>shadowsocks</td><td>network</td><td>great</td><td>Easy to config, easy to use. Connects you to the real internet in China.</td></tr><tr><td>trac</td><td>bug tracking</td><td>good</td><td>The default theme/design is too bad to look at daily.</td></tr><tr><td>Octave</td><td>math and engineering</td><td>good</td><td>Rarely used nowadays because python has a better toolset for calculation and drawing.</td></tr><tr><td>Vuze (was Azureus)</td><td>download</td><td>good</td><td>When I was using it, it&#8217;s good. It became bloated when I stopped using it.</td></tr><tr><td>mplayer</td><td>media player</td><td>good</td><td>Distribution for debian is poor. Compile it from source requires too many dependencies for my needs. Sometimes I got glitches or crash when rewind some video.</td></tr><tr><td>texlive</td><td>publishing</td><td>good</td><td>Used when I want to write something serious or when I&#8217;m bored and want to learn tex. I get less bored nowadays.</td></tr><tr><td>amarok</td><td>music player</td><td>good</td><td>I have used this player when I was using KDE in the early days. It&#8217;s not bad.</td></tr><tr><td>k3b</td><td>CD burner</td><td>good</td><td>Since I don&#8217;t burn CDs anymore. I no longer use it.</td></tr><tr><td>geany</td><td>editor</td><td>good</td><td>a lightweight editor I have used in the early days.</td></tr><tr><td>i3 (i3-wm)</td><td>window manager</td><td>good</td><td>Customization could be improved. Current feature set is good enough.</td></tr><tr><td>openbox</td><td>window manager</td><td>great</td><td>Before I get used to i3wm, this is what I use. Openbox with clearlooks view is nice.</td></tr><tr><td>openvpn</td><td>network</td><td>good</td><td>Good VPN software. Now replaced by wireguard.</td></tr><tr><td><a href="https://filezilla-project.org/" target="_blank" rel="noreferrer noopener">filezilla</a></td><td>download</td><td>good</td><td>FTP client with GUI.</td></tr><tr><td>vagrant</td><td>programming</td><td>good</td><td>local VM orchestration tool. Nowadays I use salt to manage everything, vagrant doesn&#8217;t provide much value. Vagrant official box is not always good.</td></tr><tr><td>scim</td><td>input method</td><td>good</td><td>For some reason, in wheezy, scim-pinyin package is removed. That&#8217;s why I switched to ibus. Both SCIM and ibus is usable. But neither has great documentation.</td></tr></tbody></table></figure>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
