<?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>Gentoo &#8211; richliu&#039;s blog</title>
	<atom:link href="https://blog.richliu.com/tag/gentoo/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.richliu.com</link>
	<description>Linux, 工作, 生活, 家人</description>
	<lastBuildDate>Sat, 08 Jun 2024 01:16:14 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
	<item>
		<title>[Gentoo] Upgrade From x64 to ARM64</title>
		<link>https://blog.richliu.com/2024/02/03/5761/gentoo-upgrade-from-x64-to-arm64/</link>
					<comments>https://blog.richliu.com/2024/02/03/5761/gentoo-upgrade-from-x64-to-arm64/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sat, 03 Feb 2024 14:53:39 +0000</pubDate>
				<category><![CDATA[ARM]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[arm64]]></category>
		<category><![CDATA[qemu]]></category>
		<category><![CDATA[virt-manager]]></category>
		<guid isPermaLink="false">https://blog.richliu.com/?p=5761</guid>

					<description><![CDATA[<p>Describe how to move Gentoo x64 to ARM64 platform. </p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2024/02/03/5761/gentoo-upgrade-from-x64-to-arm64/">[Gentoo] Upgrade From x64 to ARM64</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>時隔多年，終於又迎來一次大升級，之前寫過幾篇升級的文章，像是<br />電腦升級 <a href="https://blog.richliu.com/2015/08/06/1827/%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a-i7-5775c-asus-z97-ausb3-1/">i7 5775c + ASUS Z97-A/USB3.1</a> : 後來 Desktop 還升級了二次，一次是換 i5-9600K，中間還買了 2080 ，最近一次是換 AMD 7900，又買了一張 3090 （當然是買前生產力買後遊戲機），不過因為懶得寫就沒記錄了<br /><a href="https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/">[Gentoo] 電腦升級案 32bit -> 64bit Linux</a> : 十年前的升級紀錄，和本篇要寫的文章很像，不過這次就是升級到不同平台架構的機器上了<br /><a href="https://blog.richliu.com/2006/10/17/366/%e5%b1%b1%e5%af%a8%e6%9b%b4%e6%96%b0%e8%a8%98%e9%8c%84/">山寨更新記錄</a> : 早年 BBS 的更新紀錄，現在的話就不會用這種 Raid 盒，都是改用 Software Raid ，便宜！</p>



<p>這次升級要從 x64 平台升級到 ARM64 平台，雖然目前 Linux 下 ARM64 支援度還是不錯，但是兩個平台能用的東西還是有差異，主要是紀錄一下升級過程中有什麼需要注意的事情</p>



<span id="more-5761"></span>



<h2 class="wp-block-heading">ARM64 Hardware Prepareation </h2>



<p>CPU Board: Ampere Altra CPU + AsRock ALTRAD8U : 這個組合現在已經能在 <a href="https://www.newegg.com/p/N82E16813140134" target="_blank" rel="noopener">newegg </a>上買到了，也是目前最強大的 ARM64 平台，當 homelab 平台非常適合<br /><br />DRAM: 買這種主機板用的都是 RDIMM ，有可能便宜有可能貴，可以查 Gigabyte 的 QVL List[<a href="https://www.gigabyte.com/tw/Enterprise/Rack-Server/R152-P33-rev-100#Support-QvlPdfSupportList" target="_blank" rel="noopener">Ref</a>] 內的 DRAM list 購買，有朋友就是在日本買到DDR4 2933 32GB RDIMM 一隻5000羊的DDR，目前匯率 NT$1,100.- 非常便宜<br /><br />Network: AsRock ALTRAD8U 有 1*Intel i210 Ethernet 和 2*10G Intel x550 Ethernet ，這部份到不是問題，我另外拿了舊的 Intel x540 4 Port ethernet 當小 switch 用<br /><br />SATA:  這種板子預設都沒有 SATA interface 了，所以要買 SATA 卡，有 PCIe 轉 SATA ，這個要注意 PCIe bandwidth 和 SATA 數量，一分錢一份貨。<br />如果要追求速度，淘寶上也可以買到便宜 SAS 外接 SATA ，淘寶的 LSI SAS 8port internal 卡大部份 NT$2500 到 NT$6000 都有，記得買轉接線要看好規格，SAS 接頭的規格很多，一不小心就會弄錯<br /><br />SSD: 板子上介面有 2* M.2 2280，如果覺得不夠，可以買 OCU 轉 U.2 轉接線，或是還有 PCIe slot ，可以買 PCIe 轉 M.2 都可以。但是 U.2 的硬碟不一定好買，而且常常價位偏高，但是相對上是比較便宜的選擇</p>



<h2 class="wp-block-heading">Software Move To ARM64 Platform </h2>



<h3 class="wp-block-heading">QEMU/Libvirt</h3>



<p>這部份應該是最難的部份，不過理論上也不是不可以，我原來是 VirtualBox ，但是 ARM64 沒有 VirtualBox ，只有 Proxmox 有，剛看了一下，還支援 riscv64,loongarch64 [<a href="https://github.com/jiangcuo/Proxmox-Port" target="_blank" rel="noopener">ref</a>]，不過我個人不太想再學一套，所以還是用 virt-manager/libvirtd 這套，一般用途 virt-manager 和 libvirtd 應該也很夠用了。</p>



<p>目前用到現在都可以用，Ubuntu 22.04，Windows 10 for x86，Windows 11 for ARM，安裝沒什麼問題。只有 Windows 10 for x86 非常慢，慢到我不想再開了，不知道為什麼。</p>



<p><strong>Qemu bridge devices</strong>: 這個應該是問題，如果是以前用 VirtualBox ，可以直接選 NIC card interface ，但是 virt-manager 似乎沒這個選項，所以要直接設定到 bridge device，不過影響不是很大，就只是設定一個 bridge device，然後將 host internet ethernet port device 綁上去就好了</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="824" height="383" src="https://blog.richliu.com/wp-content/uploads/2024/02/image-12.png" alt="" class="wp-image-5762" style="aspect-ratio:2.151436031331593;width:784px;height:auto" srcset="https://blog.richliu.com/wp-content/uploads/2024/02/image-12.png 824w, https://blog.richliu.com/wp-content/uploads/2024/02/image-12-600x279.png 600w, https://blog.richliu.com/wp-content/uploads/2024/02/image-12-768x357.png 768w" sizes="(max-width: 824px) 100vw, 824px" /></figure></div>


<p>其他可能是如果 Libvirt 要用 graphic 輸出，不能用 qxl ，只能用 VGA or ramfb ，尤其是 windows 只能用 ramfb，如果 Guest 是 Linux 可以用 VGA ，顯示比較正常，如果連 GUI 都沒有，就直接看 console 輸出吧，問題更少</p>



<h3 class="wp-block-heading">Qemu file sharing </h3>



<p>QEMU 支援 virtiofs ，不過這個功能在 gentoo 內 ARM64 是不能用的，因為不能用，所以我也不知道 x64 那邊會有什麼限制<br />另外一個是 virtio-9p ，這個缺點是分享進 VM  之後，沒辦法使用 user 權限存取，用 root 身份限制也很多，像是存取 non-root user 檔案會有問題[<a href="https://serverfault.com/questions/559726/kvm-guest-cannot-write-to-9p-share-owned-by-non-root" target="_blank" rel="noopener">ref</a>]<br /><br />有其他需求的人可以考慮改用 samba or nfs ，但是效能就會大大下降了，這點可能是有效能需求的人要考量的</p>



<h3 class="wp-block-heading">Firewall </h3>



<p>原來的 Firewall script 似乎沒辦法和 Libvirt 一起工作，我又不想修改，最後比較簡單的作法就是在我的 script 執行完之後，再重啟 libvirtd ，這樣就正常了。<br />正常後別忘了執行 /etc/init.d/iptables save 儲存，這樣重開機之後才會正常執行 firewall rule. </p>



<h3 class="wp-block-heading">Docker</h3>



<p>試了一下似乎沒什麼問題，但是目前沒什麼要跑的 APP ，所以應該測不出什麼<br />不過之前 arm64 k8s docker [<a href="https://blog.richliu.com/2023/09/17/5329/arm64-kubernetes-qemu-metallb-linkerd-numa/">ref</a>]都跑過了，應該踩雷的機會低很多</p>



<h3 class="wp-block-heading">Other Software</h3>



<p>在 Linux 下轉移到 ARM64 平台問題不大，大部份的 software 都是安裝之後 copy 過去<br />就算是在系統上有資料的 mysql 和 apache 都是這樣</p>



<p>這次我用了一個方式轉移 configuration files<br />1. 將要轉移的程式設定檔 commit 到 git server <br />2. 從新機器將 git server 拉回來 configuration files <br />3. diff 之後將新的設定套上去<br /><br />因為我是 gentoo 玩家，gentoo 升級 packages 常常需 merge configuration files 了，所以這個轉移的過程不難，只是很耗費時間而已。不過因此絕大部份的設定檔都沒有問題，反而是少數系統本身自帶的設定檔反而怪怪的</p>



<h3 class="wp-block-heading">KDE</h3>



<p>之前我都遠端跑 vnc + kde ，不過 Gentoo 有個 BUG 就是 plasmashell 的 CPU usage 會很高<br />這次換 virt-manager 之後可以用 ssh remote control VM，發現這個方式還不錯，反正我也只有用到這個功能，KDE 等有需求的時候再開 vnc 就好了，平時是不需要開的</p>



<h2 class="wp-block-heading">搬移步驟</h2>



<p>1. 備份系統碟，以備不時之需<br />2. 重新規劃電腦的網路卡，如果只有一張就直接設成 bridge interface <br />3. software raid 的部份可以參考自己之前的文章 <a href="https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%E7%B3%BB%E7%B5%B1%E8%BD%89%E7%A7%BB/">Linux Software Raid 系統轉移</a><br />4. UEFI 的部份可以參考自己之前的文章<a href="https://blog.richliu.com/2020/07/09/4295/gentoo-arm64-uefi-install-guide/"> Gentoo ARM64 UEFI Install Guide</a><br />5. 搬移 APPs<br />5.1 重要的 APP 才要搬資料，ex: Web, mysql <br />5.2 不重要的 APP 只要搬設定檔，ex: apt-cache-ng, squid 等等<br />5.3 如果是切換平台，要確定 VM 沒問題才能切</p>



<h2 class="wp-block-heading">Known Issues </h2>



<h3 class="wp-block-heading">IPv6 Default Router</h3>



<p>不知道為什麼，在 wan 的 bridge interface 會增加一個 default route fe80::1 ，這個設定會讓 IPv6 失效，後來解決方式是在 LAN 端加上一個 IP address fe80::1 才解決</p>



<h3 class="wp-block-heading">efi boot </h3>



<p>因為我系統碟是做 software raid  ，每次編完 kernel 再 update grub 時，記得 efi boot 時有時會 fail ，試著將兩顆 nvme 都 mount 上來加上再安裝一次 efi partition 似乎才會正常，找了一下沒找到原因，不管了，反正能動就好</p>



<pre class="wp-block-preformatted">grub-mkconfig -o /boot/grub/grub.cfg
umount /boot/efi
mount /dev/nvme0n1p1 /boot/efi
grub-install --target=arm64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo
umount /boot/efi
mount /dev/nvme1n1p1 /boot/efi
grub-install --target=arm64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo
umount /boot/efi
</pre>



<p>ref.<br />None</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2024/02/03/5761/gentoo-upgrade-from-x64-to-arm64/">[Gentoo] Upgrade From x64 to ARM64</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2024/02/03/5761/gentoo-upgrade-from-x64-to-arm64/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo ARM64 Docker Image</title>
		<link>https://blog.richliu.com/2019/08/02/4049/gentoo-arm64-docker-image/</link>
					<comments>https://blog.richliu.com/2019/08/02/4049/gentoo-arm64-docker-image/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Fri, 02 Aug 2019 07:43:30 +0000</pubDate>
				<category><![CDATA[ARM]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[arm64]]></category>
		<category><![CDATA[docker]]></category>
		<guid isPermaLink="false">https://blog.richliu.com/?p=4049</guid>

					<description><![CDATA[<p>There is a long time no article about gentoo on my blog [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2019/08/02/4049/gentoo-arm64-docker-image/">Gentoo ARM64 Docker Image</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>There is a long time no article about gentoo on my blog. <br /><br />Today, I have a whim to do a gentoo ARM64 docker image, so, we have this article. </p>



<div class="wp-block-image"><figure class="alignright is-resized"><img decoding="async" src="https://blog.richliu.com/wp-content/uploads/2019/08/擷取-1024x478.png" alt="" class="wp-image-4050" width="309" height="143" srcset="https://blog.richliu.com/wp-content/uploads/2019/08/擷取-1024x478.png 1024w, https://blog.richliu.com/wp-content/uploads/2019/08/擷取-300x140.png 300w, https://blog.richliu.com/wp-content/uploads/2019/08/擷取-768x359.png 768w, https://blog.richliu.com/wp-content/uploads/2019/08/擷取.png 1441w" sizes="(max-width: 309px) 100vw, 309px" /></figure></div>



<p>Please understand that ARM64 Gentoo is experimental, and might be different after a while. </p>



<span id="more-4049"></span>



<p>First, we can start from stage3 file, it would be easy to create it. if you don&#8217;t know what is stage3 file, I think you should leave this page and learn gentoo from scratch. <br />it can download arm64 stage3 file from here<br /> <a href="https://gentoo.osuosl.org/experimental/arm64/" target="_blank" rel="noopener">https://gentoo.osuosl.org/experimental/arm64/</a> <br />and extract it to a new directory. <br /><br />if cannot download file from URL address above, please visit URL above to fetch latest stage3 files.</p>



<pre class="wp-block-preformatted">wget https://gentoo.osuosl.org/experimental/arm64/stage3-arm64-20190613.tar.bz2
mkdir gentoo 
cd gentoo 
sudo tar xf ../stage3-arm64-20190613.tar.bz2</pre>



<p>it can modify something in this directory. </p>



<p>Next step is create first docker image, it will contain all stage3 files. </p>



<pre class="wp-block-preformatted">cd ..
sudo tar -C gentoo -c . | docker import - gentoo</pre>



<p>Please create a directory with a file named &#8220;dockerfile&#8221;, and contain following text.</p>



<pre class="wp-block-preformatted">FROM gentoo
RUN mkdir -p /var/run/sshd
RUN ssh-keygen -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN echo 'root:root' |chpasswd # echo password | passwd --stdin root
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i '/pam_loginuid.so/c session optional pam_loginuid.so' /etc/pam.d/sshd
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD /usr/sbin/sshd -D </pre>



<p>Now, create a gentoo docker image </p>



<pre class="wp-block-preformatted">docker build -t gentoo_sshd ./</pre>



<p>Run a new instance with this gentoo docker image </p>



<pre class="wp-block-preformatted">docker run -d --privileged=true --name gentootest -v /work:/work -p 40001:22 -P gentoo_sshd</pre>



<p>Now, it can use ssh to login this system and run it, password is root.</p>



<pre class="wp-block-code"><code>ssh -p 40001 root@localhost</code></pre>



<p>Ref<br /><a href="https://blog.richliu.com/2017/12/24/2199/build-sdk-in-docker">Build SDK in Docker</a><br /><a href="https://docs.docker.com/develop/develop-images/baseimages/" target="_blank" rel="noopener">Create a base image</a><br /><a href="https://gentoo.osuosl.org/experimental/arm64/" target="_blank" rel="noopener">https://gentoo.osuosl.org/experimental/arm64/</a> <br />Thanks gyakovlev in irc channel . </p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2019/08/02/4049/gentoo-arm64-docker-image/">Gentoo ARM64 Docker Image</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2019/08/02/4049/gentoo-arm64-docker-image/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] Moved to eudev from udev</title>
		<link>https://blog.richliu.com/2019/01/19/3406/gentoo-moved-to-eudev-from-udev/</link>
					<comments>https://blog.richliu.com/2019/01/19/3406/gentoo-moved-to-eudev-from-udev/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sat, 19 Jan 2019 01:42:51 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[eudev]]></category>
		<category><![CDATA[udev]]></category>
		<guid isPermaLink="false">https://blog.richliu.com/?p=3406</guid>

					<description><![CDATA[<p>好久沒有寫 Gentoo 的文章了，畢竟除了一般性升級也懶得再動什麼，不過最近一次升級系統又爛了 所有的 ne [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2019/01/19/3406/gentoo-moved-to-eudev-from-udev/">[Gentoo] Moved to eudev from udev</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>好久沒有寫 Gentoo 的文章了，畢竟除了一般性升級也懶得再動什麼，不過最近一次升級系統又爛了</p>



<p>所有的 network interface 變成 eth0/eth1 &#8230;.. ，不再是 predictable network interface names （可預測的網路介面名稱像是 ensp1 這樣的）</p>



<span id="more-3406"></span>



<p>查了一下系統，發現 driver loading 都是正常的，想到 predictable network interface names 最主要的就是 udev ，試著重啟 udev 看看，沒想到所有的 interface 就變回來了</p>



<p>查了一下 Kernel option ，以前 Gentoo 用 predictable network interface names 要開 kernel option ，現在不用，想必已經預設是這樣了<br />下一步就是查一下之前用的 udev ，再編回來。沒想到，舊版的 236 從 portage 移除了，新版的 238 之後， compile error 都要 download systemd 放在裡面。這下原因大白了，八成是這個原因，因為 Gentoo 的老玩家都還在用 OpenRC。</p>



<p>之前在查其他東西的時候有注意到 eudev 這個東西，不過沒有特別注意，但是解法就在這邊<br /><br />簡單的說， eudev 就是 Udev 的 Gentoo 版，給 OpenRC 這樣的舊系統用的，systemd 不要用。<br /><br />真是 %@%@#$%@#$%@#$%#@%$<br /><br />可能有一天真的要升級到 systemd ，我不想啊啊啊啊啊</p>



<p>以下 Copy 自 Gentoo Wiki<br />&#8212;<br /><strong>eudev</strong>&nbsp;is Gentoo&#8217;s fork of&nbsp;<a href="https://wiki.gentoo.org/wiki/Udev" target="_blank" rel="noopener">udev</a>, systemd&#8217;s&nbsp;<a href="https://wiki.gentoo.org/wiki/Device_file" target="_blank" rel="noopener">device file</a>&nbsp;manager for the Linux kernel.<sup><a href="https://wiki.gentoo.org/wiki/Eudev#cite_note-1" target="_blank" rel="noopener">[1]</a></sup>&nbsp;It manages device nodes in&nbsp;<a href="https://wiki.gentoo.org/wiki/Eudev#The_.2Fdev_directory" target="_blank" rel="noopener">/dev</a>&nbsp;and handles all user space actions when adding or removing devices.</p>



<p>The goal of eudev is to obtain better compatibility with existing software such as the&nbsp;<a href="https://wiki.gentoo.org/wiki/OpenRC" target="_blank" rel="noopener">OpenRC</a>&nbsp;init system,&nbsp;<a href="https://en.wikipedia.org/wiki/Upstart" target="_blank" rel="noopener">Upstart</a>&nbsp;init system, older Linux kernels, various toolchains, and anything else required<sup><a href="https://wiki.gentoo.org/wiki/Eudev#cite_note-2" target="_blank" rel="noopener">[2]</a></sup>&nbsp;by (but not well supported through)&nbsp;<strong>udev</strong>.</p>



<p>Similar to ebuild, eclass, emerge, etc. eudev&#8217;s name follows the &#8216;E&#8217; prefix convention started by Gentoo&#8217;s founder Daniel Robbins.<br /></p>



<p>System configurations running&nbsp;<strong>systemd</strong>&nbsp;have no use for eudev.</p>



<p>Ref.<br /><br />https://wiki.gentoo.org/wiki/Eudev</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2019/01/19/3406/gentoo-moved-to-eudev-from-udev/">[Gentoo] Moved to eudev from udev</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2019/01/19/3406/gentoo-moved-to-eudev-from-udev/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] 裝 Brother HL-2240D Driver + Samba 分享</title>
		<link>https://blog.richliu.com/2014/10/13/1681/gentoo-%e8%a3%9d-brother-hl-2240d-driver-samba-%e5%88%86%e4%ba%ab/</link>
					<comments>https://blog.richliu.com/2014/10/13/1681/gentoo-%e8%a3%9d-brother-hl-2240d-driver-samba-%e5%88%86%e4%ba%ab/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sun, 12 Oct 2014 16:28:33 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[隨手札記]]></category>
		<category><![CDATA[cups]]></category>
		<category><![CDATA[HL-2240D]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[samba]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1681</guid>

					<description><![CDATA[<p>Linux 支援 Brother HD-2240D driver 可以用 Samba + CUPS 提供服務. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2014/10/13/1681/gentoo-%e8%a3%9d-brother-hl-2240d-driver-samba-%e5%88%86%e4%ba%ab/">[Gentoo] 裝 Brother HL-2240D Driver + Samba 分享</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Linux 支援 Brother HD-2240D driver 可以用 Samba + CUPS 提供服務.</p>
<p><span id="more-1681"></span></p>
<p>1. 首先打開 Linux kernel 對 USB print driver 的支援<br />
我是用 genkernel , 所以預設是沒有支援的</p>
<p>Device Drivers &#8212;&gt;<br />
[*] USB support &#8212;&gt;<br />
&lt;m&gt; USB Printer support ==&gt; 選擇<br />
重編 kernel<br />
# genkernel &#8211;no-clean &#8211;no-mrproper all</p>
<p>2. 開機預設 insert usblp driver<br />
# vim /etc/conf.d/modules<br />
加上 usblp</p>
<p>3. 編輯 /etc/portage/package.use 替 CUPS 加上 usb support, 替 samba 加上 cups 支援</p>
<p>sys-print/cups -php usb<br />
net-fs/samba cups</p>
<p># emerge samba cups</p>
<p>記得重啟 cups 和 samba</p>
<p>4. 下載 HL-2240D Driver<br />
<a href="http://support.brother.com/g/b/downloadtop.aspx?c=eu_ot&amp;lang=en&amp;prod=hl2240d_all" target="_blank" rel="noopener">HL-2240D Driver Download</a><br />
我是下載 source code</p>
<p>5. 將印表機開機並插上 Linux 機器,<br />
執行 lpinfo -v</p>
<p># lpinfo -v<br />
network https<br />
network socket<br />
network ipp<br />
network http<br />
network lpd<br />
network ipps<br />
direct usb://Brother/HL-2240D%20series<br />
network smb</p>
<p>如果沒有出現 direct usb://Brother/HL-2240D%20series, 可以看看 usblp 和 cups usb 支援有沒有設好.</p>
<p>6. 解開 Driver 後執行 cupswrapperHL2240D-2.0.4, 這個程式會安裝 HL2240D.ppd 到 /usr/share/cups/model<br />
並且設定好 HL2240D 的印表機.</p>
<p>如果手動設定無效, 可以試試看到/usr/share/cups/model 下執行<br />
# lpadmin -p HL2240D -E -v usb://Brother/HL-2240D%20series -P HL2240D.ppd</p>
<p>7. 查看結果<br />
# lpstat -a<br />
HL2240D accepting requests since Sun Oct 12 22:21:45 2014</p>
<p>8. 編輯 /etc/samba/smb.conf 加上<br />
[printers]<br />
comment = Brother printers<br />
path = /var/spool/samba<br />
browseable = no<br />
guest ok = no<br />
writable = no<br />
printable = yes<br />
public = yes<br />
printer name = HL2240D</p>
<p>重啟 samba.</p>
<p>9. 在 windows 下載 Driver, 解壓之後內有 driver<br />
<a href="http://support.brother.com/g/b/downloadtop.aspx?c=eu_ot&amp;lang=en&amp;prod=hl2240d_all" target="_blank" rel="noopener">HL-2240D Driver Download</a></p>
<p>在網芳可以看到 hl-2240d 的目錄, 可以選連線後選擇要安裝的 Driver.</p>
<p>ref.<br />
<a href="http://wiki.gentoo.org/wiki/Printing" target="_blank" rel="noopener">Gentoo Print Guide </a></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2014/10/13/1681/gentoo-%e8%a3%9d-brother-hl-2240d-driver-samba-%e5%88%86%e4%ba%ab/">[Gentoo] 裝 Brother HL-2240D Driver + Samba 分享</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2014/10/13/1681/gentoo-%e8%a3%9d-brother-hl-2240d-driver-samba-%e5%88%86%e4%ba%ab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>udev 之後仍然想用原先的 network device rename 的方式修改 interface</title>
		<link>https://blog.richliu.com/2014/10/01/1667/udev-%e4%b9%8b%e5%be%8c%e4%bb%8d%e7%84%b6%e6%83%b3%e7%94%a8%e5%8e%9f%e5%85%88%e7%9a%84-network-device-rename-%e7%9a%84%e6%96%b9%e5%bc%8f%e4%bf%ae%e6%94%b9-interface/</link>
					<comments>https://blog.richliu.com/2014/10/01/1667/udev-%e4%b9%8b%e5%be%8c%e4%bb%8d%e7%84%b6%e6%83%b3%e7%94%a8%e5%8e%9f%e5%85%88%e7%9a%84-network-device-rename-%e7%9a%84%e6%96%b9%e5%bc%8f%e4%bf%ae%e6%94%b9-interface/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Wed, 01 Oct 2014 13:46:19 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Predictable Network Interface Names]]></category>
		<category><![CDATA[udev]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1667</guid>

					<description><![CDATA[<p>在Predictable Network Interface 這件事情出現之前, 很長一段時間, udev 起 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2014/10/01/1667/udev-%e4%b9%8b%e5%be%8c%e4%bb%8d%e7%84%b6%e6%83%b3%e7%94%a8%e5%8e%9f%e5%85%88%e7%9a%84-network-device-rename-%e7%9a%84%e6%96%b9%e5%bc%8f%e4%bf%ae%e6%94%b9-interface/">udev 之後仍然想用原先的 network device rename 的方式修改 interface</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>在<a href="http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/" target="_blank" rel="noopener">Predictable Network Interface </a>這件事情出現之前, 很長一段時間, udev 起來之後, script 會自動產生 70-persistent-net.rules , 然後所有的 ethernet device 就會在裡面, 如果要改個順序ex: eth0-&gt;eth1 or eth1-&gt;net1, 就在裡面改就好了.</p>
<p>不過總之他們就是改了, 說什麼安全的問題啦, firewall 設定啦.</p>
<p>只是改了之後, 大家討論了很久, 也 try 了很久.<br />
我也是這次因為一定要能動, 所以認真的研究了一下, 目前最安定的設定, 可以正確更改名稱的設定.<br />
1. 在 kernel command line 加上 net.ifnames=0, 這樣就會變原來的 eth0&#8230; blah blah , 可是原先的更改名稱方式還是不能用.</p>
<p>Gentoo 使用者可以改 Kernel Config, 關掉這個選掉</p>
<p>Gentoo Linux  &#8212;&gt;<br />
[ ]   Linux dynamic and persistent device naming (userspace devfs) support</p>
<p>2. 請參照 Gentoo 文件 <a href="http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=4&amp;chap=2#doc_chap4" target="_blank" rel="noopener">2.d. Network Interface Naming</a></p>
<pre># <span class="code-input">udevadm test-builtin net_id /sys/class/net/eth0 2&gt;/dev/null</span>
ID_NET_NAME_MAC=enxc80aa9429d76
ID_OUI_FROM_DATABASE=Quanta Computer Inc.

# <span class="code-input">vim /etc/udev/rules.d/70-net-name-use-custom.rules</span>
<span class="code-comment"># First one uses MAC information, and 70- number to be before other net rules</span>
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="c8:0a:a9:42:9d:76", NAME="lan0"

# <span class="code-input">vim /etc/udev/rules.d/76-net-name-use-custom.rules</span>
<span class="code-comment"># Second one uses ID_NET_NAME_PATH information, and 76- number to be between</span>
<span class="code-comment"># 75-net-*.rules and 80-net-*.rules</span>
SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_PATH}=="enp3s0", NAME="wifi0"</pre>
<p>這樣就可以成功了.</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2014/10/01/1667/udev-%e4%b9%8b%e5%be%8c%e4%bb%8d%e7%84%b6%e6%83%b3%e7%94%a8%e5%8e%9f%e5%85%88%e7%9a%84-network-device-rename-%e7%9a%84%e6%96%b9%e5%bc%8f%e4%bf%ae%e6%94%b9-interface/">udev 之後仍然想用原先的 network device rename 的方式修改 interface</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2014/10/01/1667/udev-%e4%b9%8b%e5%be%8c%e4%bb%8d%e7%84%b6%e6%83%b3%e7%94%a8%e5%8e%9f%e5%85%88%e7%9a%84-network-device-rename-%e7%9a%84%e6%96%b9%e5%bc%8f%e4%bf%ae%e6%94%b9-interface/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] 電腦升級案 32bit -&gt; 64bit Linux</title>
		<link>https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/</link>
					<comments>https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Thu, 26 Dec 2013 15:44:19 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[4670t]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[gpt]]></category>
		<category><![CDATA[H87]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[安裝]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1583</guid>

					<description><![CDATA[<p>最近發現有一台電腦己經有點舊了, 首先是電源供應器的風扇掛了, 這個電源供應該應該有十年了, 印像中還沒有支援 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/">[Gentoo] 電腦升級案 32bit -&gt; 64bit Linux</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>最近發現有一台電腦己經有點舊了, 首先是電源供應器的風扇掛了, 這個電源供應該應該有十年了, 印像中還沒有支援新的 ATX 接頭, 當年好像是用很便宜的價格從瘋狂賣客買的.<br />
將電源風扇換成磁浮風扇之後, 似乎有好一點, 不過問題是, 很難開機, 還好這一台是一開就不關的 Server.<br />
但是最近工作型態改變, 而且我買了一個瓦特計(像<a href="http://smallpig01.blogspot.tw/2011/12/wanf-wf-d02a.html" target="_blank" rel="noopener">這樣</a>), 沒事就在量電腦的電量. 發現常常使用的測試用電腦瓦特數非常高, Intel Q6600 + ATI 4850 要耗用 200W 左右.</p>
<p>所以最近就在找下一代的解決方案. 目標高效低功耗PC.<br />
<span id="more-1583"></span><br />
接下來是新電腦清單<br />
CPU: <a href="http://ark.intel.com/zh-TW/products/75050/intel-core-i5-4670t-processor-6m-cache-up-to-3_30-ghz" target="_blank" rel="noopener">Intel i5-4670T 45W</a></p>
<p style="padding-left: 30px;">本來有考慮 <a href="http://ark.intel.com/zh-TW/products/75045/intel-core-i5-4570t-processor-4m-cache-up-to-3_60-ghz" target="_blank" rel="noopener">Intel i5-4570T</a>, Max TDP 少 10W, 但是速度比較快, 後來想想, 如果要 Multi-Thread 編 Code , 還要跑 VM 的話, 還是多核好一點. 所以後來就選 4670T. 不管是 4570T/4670T, 台灣都買不到, 只有向淘寶購物, 這也是我第一次跑去淘寶買東西. 不過搞進來花了不少時間, 不清楚轉運規則呀(而且淘寶網頁流程也寫的不清楚, 轉運公司更是複雜, 搞好久才知道原來洶寶上的電話才是該打的電話, 轉運公司的客服無法處理國際單). 弄進來這顆 CPU 是 QS 版, 雖然不是 ES 版(<a href="http://blog.yam.com/geniusoffice0716/article/59728220" target="_blank" rel="noopener">QS/ES差別</a>), 但是還是有點悶. (購入價是比 Tray 低一點啦, 4570T 有 BOX 價, 一般人可以考慮買這個). TRAY 的缺點是沒有風扇, 還好我之前有不小心多買一套 CPU 風扇, 所以將就著用&#8230;&#8230; Intel 為什麼不出 BOX 版&#8230; -_-!</p>
<p style="padding-left: 30px;">另外, 4670T 那個 Up To 3.3G 是指只開1核時, TurboBoost 可以到 3.3G, 四核全開只能到 2.9G. (我也被搞混一陣子過, 所以現在清楚了).<br />
詳情可以看這個網頁 <a href="http://www.intel.com/support/processors/corei5/sb/CS-032278.htm" target="_blank" rel="noopener">Intel® Core<img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> i5 Desktop Processor Turbo boost frequency table</a><br />
BIOS 還是有可以調整的選項, 我猜四核要跑 3.3G 也是可以, 只是 TDP 就不是 45W 了, Max TDP BIOS 內也可以調整(驚!!).</p>
<p>MotherBoard: <a href="https://www.google.com.tw/search?q=gigabyte+H87-D3H&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t" target="_blank" rel="noopener">Gigabyte H87-D3H</a></p>
<p style="padding-left: 30px;">之前某一次用 ASUS 接 HDMI 還是 DVI 輸出有問題, 沒有辦法正確判斷電視種類, 但是 Gigabyte 的主機板 OK, 之後就都換 Gigabyte 的, 目前二塊在我手上還活的好好的, 所以第三塊還是用 Gigabyte 的. 也沒有特別的理由. 選這塊的原因是因為內建 Intel 網卡. 不過電腦機殼就只能選 ATX 了.</p>
<p>Power: 海韻 S12G 450W 金牌</p>
<p style="padding-left: 30px;">我承認我選 Power 就是看那家貨比較齊全就買那家的, 金牌 450W 很難選, 生產的不多, 這個也沒有模組化, 不過我用過模組化的 Power , 又不是會飛天會唱歌, 所以有和沒有都 OK. 至於金牌和銅牌的論述就算了, 我自己拿來做 Server 的, 省個 5% 也高興, 反正金牌和銅牌沒有差很多, 就當買心理因素吧 XD.</p>
<p>Case : <a href="http://www.coolermaster.com/product/Detail/case/mid-tower/silencio-550.html" target="_blank" rel="noopener">Cooler Master Silencio 550</a></p>
<p style="padding-left: 30px;">上一個 Case 是買 Antec 的 P280 靜音機殼, 其實沒有感覺很安靜. 比較起來, CM 550 用料和 P280 各有優缺點, 很難說誰好誰不好, 不過CM 550 有一個 SATA 插槽, 這個還不錯, 可以拿來 hot-plug 用. 硬碟是橫置, 免螺絲, 不過還是要拆背蓋才能裝 Power 和 Cable. 這樣設計沒有比較好, OK?<br />
不過我的 Antec P280 有一個墊子壞了, 寫信問代理商沒有回, 丟 FB 也還沒有回&#8230; 呃. 希望 CM 會好一點. 對了, CM 多一個 SD 插槽, Linux 下抓的到, 算是加分吧.</p>
<p>記憶體 : 用舊的KingSton DDR3-1067 (省錢 XD)</p>
<p>HDD : Seagate NAS 64M ST3000VN000</p>
<p style="padding-left: 30px;">3T 的硬碟要搞開機有點麻煩. 不過還是要用.</p>
<p>花了一些功夫的成果照<br />
<iframe src="https://www.flickr.com/photos/richliu_tw/11564910116/player/23248c6758" width="281" height="500" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>接下來來是 Gentoo 安裝心得, 各位可以 END 看最後面了.</p>
<p>在做完了基本的 memory test 之後, 接下來就是開始安裝 Gentoo.<br />
*) Use Legacy BIOS<br />
首先第一件事情, 強迫BIOS使用 Legacy BIOS, UEFI 貌似也可以用, 不過我並不打算花時間研究這個, 而且這一台電腦並沒有要裝 Windows. (剛想到, 以前都拿舊電腦裝 Linux, 現在買新的裝 Linux. 十年河東十年河西呀&#8230;)</p>
<p>因為這次是要安裝 64Bit Linux, 所以是拿 kubuntu 13.10 x64 版開機.<br />
(P.S 這不是安裝手冊, 所以我只會記錄我覺得重要的部份).</p>
<p>*) Booting Disk.<br />
如何讓 BIOS 認到 3T 的硬碟是最重要的, 要安裝套件 gdisk 取代 fdisk. 忘了 parted 吧, 那是給 geek 用的 (誤)<br />
# apt-get install gdisk<br />
這時候還是用 kubuntu 哦&#8230;.</p>
<p>重點<br />
1) 要切一個 1M Partition 給 UEFI 用(我有預留,不確定不留可不可以)<br />
2) 沒有 Primary Partition 的概念了.<br />
3) Partition Code 不一樣, 第一個 Partition ID 是 EF02, Linux Raid 是 FD00</p>
<p>系統切四個, UEFI, System , Data, Swap , 看起來像這樣</p>
<p style="padding-left: 30px;">Disk /dev/sda: 5860533168 sectors, 2.7 TiB<br />
Logical sector size: 512 bytes<br />
Disk identifier (GUID): 601175B7-D96A-4316-AA27-856D195717F4<br />
Partition table holds up to 128 entries<br />
First usable sector is 34, last usable sector is 5860533134<br />
Partitions will be aligned on 2048-sector boundaries<br />
Total free space is 2014 sectors (1007.0 KiB)</p>
<p style="padding-left: 30px;">Number Start (sector) End (sector) Size Code Name<br />
1 2048 4095 1024.0 KiB EF02 BIOS boot partition<br />
2 4096 209719295 100.0 GiB FD00 Linux RAID<br />
3 209719296 5830086655 2.6 TiB FD00 Linux RAID<br />
4 5830086656 5860533134 14.5 GiB FD00 Linux RAID</p>
<p>接下來將 sda 的 partition copy 到 sdb 去<br />
# sgdisk -R=/dev/sdb /dev/sda<br />
重新亂數產生 sdb 的 UUID<br />
# sgdisk -G /dev/sdb<br />
大功告成, 接下來就可以檢查 sdb , 沒有問題之後就可以建 Raid 了.</p>
<p>Ref:<br />
<a class="smarterwiki-linkify" href="http://en.wikipedia.org/wiki/BIOS_Boot_Partition_%28GPT%29" target="_blank" rel="noopener">http://en.wikipedia.org/wiki/BIOS_Boot_Partition_%28GPT%29</a><br />
<a class="smarterwiki-linkify" href="http://forums.funtoo.org/viewtopic.php?pid=9944" target="_blank" rel="noopener">http://forums.funtoo.org/viewtopic.php?pid=9944</a></p>
<p>*) Create Raid / Format Disk<br />
可以參考我自己以前寫的文章(<a href="http://blog.richliu.com/2011/05/16/1078/" target="_blank">Linux Software Raid 系統轉移</a>)<br />
# modprobe raid1<br />
# apt-get install mdadm<br />
GRUB2 開機一定要 0.90 的 raid partition, 我沒有找到用新版也可以的文章, 不想賭人品.<br />
# mdadm &#8211;create /dev/md1 -l 1 -n 2 &#8211;metadata=0.90 /dev/sda2 missing<br />
其他不用應該沒關係.<br />
# mdadm &#8211;create /dev/md2 -l 1 -n 2 /dev/sda3 missing<br />
# mdadm &#8211;create /dev/md3 -l 1 -n 2 /dev/sda4 missing</p>
<p>先建一顆, 等到去睡覺的時候再 Sync .</p>
<p>Grub 1.97 之後有支援 ext4, 不過在 grub 內的 module name 還是叫 ext2.mod .<br />
# mkfs.ext4 /dev/md1<br />
# mkfs.ext4 /dev/md2<br />
# mkswap /dev/md3</p>
<p>* ) Download Gentoo stage3 x64 from server<br />
<a class="smarterwiki-linkify" href="ftp://ftp.twaren.net/Linux/Gentoo/releases/amd64/current-stage3" target="_blank" rel="noopener">ftp://ftp.twaren.net/Linux/Gentoo/releases/amd64/current-stage3</a></p>
<p>* ) Modify Gentoo Configure</p>
<p># mount &#8211;bind /proc proc<br />
# mount &#8211;bind /sys sys<br />
# mount &#8211;bind /dev dev<br />
# chroot disk</p>
<p>modify /etc/portage/make.conf<br />
# nano /etc/portage/make.conf</p>
<p>GENTOO_MIRRORS=&#8221;<br />
<a class="smarterwiki-linkify" href="ftp://ftp.twaren.net/Linux/Gentoo" target="_blank" rel="noopener">ftp://ftp.twaren.net/Linux/Gentoo</a><br />
<a class="smarterwiki-linkify" href="http://gentoo.oregonstate.edu" target="_blank" rel="noopener">http://gentoo.oregonstate.edu</a><br />
<a class="smarterwiki-linkify" href="ftp://ftp.nsysu.edu.tw/Unix-like/Gentoo/" target="_blank" rel="noopener">ftp://ftp.nsysu.edu.tw/Unix-like/Gentoo/</a><br />
&#8221;</p>
<p>SYNC=&#8221;rsync://rsync.tw.gentoo.org/gentoo-portage&#8221;</p>
<p>MAKEOPTS=&#8221;-j5&#8243;</p>
<p><a class="smarterwiki-linkify" href="https://wiki.gentoo.org/wiki/AMD64/FAQ" target="_blank" rel="noopener">https://wiki.gentoo.org/wiki/AMD64/FAQ</a></p>
<p># echo &#8220;nameserver 8.8.8.8&#8243; &gt; /etc/resolv.conf<br />
# emerge sync</p>
<p>修改 /etc/fstab<br />
用 blkid dump 出來之後, 填到 fstab 去<br />
# blkid<br />
# vim /etc/fstab<br />
/dev/md1: UUID=&#8221;a12d45e4-3eab-4f12-ba6a-111111111111&#8243; TYPE=&#8221;ext4&#8243;<br />
/dev/md2: UUID=&#8221;a34bb49d-6ecd-4f34-8a1b-222222222222&#8243; TYPE=&#8221;ext4&#8243;<br />
/dev/md3: UUID=&#8221;856c43d9-00ef-4756-9732-333333333333&#8243; TYPE=&#8221;swap&#8221;</p>
<p>After installation edit /etc/default/grub:</p>
<p>GRUB_CMDLINE_LINUX_DEFAULT=&#8221;root=/dev/md1 real_root=/dev/md1 rootfstype=ext4 net.ifnames=0&#8243;<br />
有人說加 domdadm, 不過對我沒有用, net.ifnames=0 就是用傳統的 ethernet 命名方式, 要不然 Gentoo 又要用 PredictableNetworkInterfaceNames 了.<br />
我覺得這個超麻煩的, 雖然安全一點, 不過我不喜歡.<br />
Ref. <a class="smarterwiki-linkify" href="http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/" target="_blank" rel="noopener">http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/</a></p>
<p># ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules<br />
另一種 Disable PredictableNetworkInterfaceNames 的方式</p>
<p>我後來在 Kernel 內有看到 Predictable Network Interface Name 的選項, 早知道後來要改很多次 Kernel , 就直接在 Kernel compile 時閹了它.</p>
<p>setlocale: LC_ALL: cannot change locale (zh_TW.UTF-8)<br />
解法參考：<a class="smarterwiki-linkify" href="http://ubuntuforums.org/showthread.php?t=1471876" target="_blank" rel="noopener">http://ubuntuforums.org/showthread.php?t=1471876</a></p>
<p>vim /etc/locale-gen<br />
add<br />
zh_TW UTF-8<br />
zh_TW.UTF-8 UTF-8</p>
<p>than<br />
# locale-gen</p>
<p>*) Install GRUB<br />
如果在 install GRUB 時有看到奇怪的字串像是<br />
Path `/boot/grub&#8217; is not readable by GRUB on boot.<br />
記得要裝 mdadm 才會正常</p>
<p># emerge mdadm<br />
兩個目錄一樣<br />
# ln -sf /boot/grub /boot/grub2<br />
# grub2-mkconfig -o /boot/grub2/grub.cfg<br />
# grub2-install /dev/sda<br />
# grub2-install /dev/sdb</p>
<p>如果有裝完 mdadm, grub 應該安全就沒有問題了</p>
<p>*) Linux Kernel<br />
RTC 和 USBSerial 相關的 Driver 要裝一裝.</p>
<p>如果要讓 lm_sensor 可以正常運作, it87 module 要 install<br />
所以要 edit /etc/conf.d/modules , 加上.<br />
modules=&#8221;it87 intel-agp nf_nat_pptp nf_nat_proto_gre&#8221;</p>
<p>*) X<br />
這是一個神奇的經驗, 我第一次知道原來 X 是不用設定任何東西的.<br />
首先按照<br />
<a class="smarterwiki-linkify" href="https://wiki.gentoo.org/wiki/Xorg/Configuration" target="_blank" rel="noopener">https://wiki.gentoo.org/wiki/Xorg/Configuration</a><br />
在 Kernel 加上<br />
[TEXT]<br />
&lt; *&gt; Intel 8xx/9xx/G3x/G4x/HD Graphics<br />
[*] Enable modesetting on intel by default<br />
[/TEXT]<br />
這選項非常重要.</p>
<p>edit /etc/portage/package.use<br />
加上<br />
x11-drivers/xf86-video-intel dri glamor sna udev uxa xvmc<br />
全開就對了.<br />
然後 X 就莫名奇妙的動起來了 (什麼 O_O)</p>
<p>*) MySQL ==&gt; MariaDB</p>
<p>MariaDB 是從 MySQL Fork 出來的 Project .<br />
<a class="smarterwiki-linkify" href="http://en.wikipedia.org/wiki/MariaDB" target="_blank" rel="noopener">http://en.wikipedia.org/wiki/MariaDB</a></p>
<p>大家都知道, MySQL 自從被 Oracle 拿到之後, 就千方百計的想要消滅它.<br />
不過這也無可厚非, business is business.</p>
<p>這邊就是直接搬 mysql db 過去, 用 mysql_upgrade 升級<br />
不過這邊有一個問題, mysql 自己的 innodb 似乎升不過去,<br />
可能要用 mysql_dump , 我自己那些 db 都是不重要的, 所以就&#8230;&#8230;</p>
<p># /etc/init.d/mysql stop<br />
# emerge -1 mariadb<br />
# /etc/init.d/mysql start<br />
# mysql_upgrade -u root -p<br />
# mysqlcheck &#8211;repair &#8211;all-databases -u root -p</p>
<p>Ref:<br />
<a class="smarterwiki-linkify" href="http://od-eon.com/blogs/stefan/migrating-from-mysql-to-mariadb-on-gentoo/" target="_blank" rel="noopener">http://od-eon.com/blogs/stefan/migrating-from-mysql-to-mariadb-on-gentoo/</a></p>
<p>*) Samba<br />
smbpasswd 不能用了<br />
改用<br />
pdbedit -a -u user<br />
加入<br />
選項與參數：<br />
-L ：列出目前在資料庫當中的帳號與 UID 等相關資訊；<br />
-v ：需要搭配 -L 來執行，可列出更多的訊息，包括家目錄等資料；<br />
-w ：需要搭配 -L 來執行，使用舊版的 smbpasswd 格式來顯示資料；<br />
-a ：新增一個可使用 Samba 的帳號，後面的帳號需要在 /etc/passwd 內存在者；<br />
-r ：修改一個帳號的相關資訊，需搭配很多特殊參數，請 man pdbedit；<br />
-x ：刪除一個可使用 Samba 的帳號，可先用 -L 找到帳號後再刪除；<br />
-m ：後面接的是機器的代碼 (machine account)，與 domain model 有關！</p>
<p><a class="smarterwiki-linkify" href="http://linux.vbird.org/linux_server/0370samba.php" target="_blank" rel="noopener">http://linux.vbird.org/linux_server/0370samba.php</a></p>
<p>*) radvd<br />
如果有出現<br />
&#8220;radvd could not daemonize&#8221;<br />
建 radvd 的 /var/run/radvd 並且 chown radvd .</p>
<p>*) cacti<br />
抓自身的 snmp 要用 127.0.0.1 , 不能用 localhost .<br />
編輯 /etc/portage/package.use<br />
net-analyzer/net-snmp lm_sensors diskio ucd-compat netlink</p>
<p>Ref:<br />
<a class="smarterwiki-linkify" href="http://forums.cacti.net/about15067.html" target="_blank" rel="noopener">http://forums.cacti.net/about15067.html</a><br />
<a class="smarterwiki-linkify" href="http://www.powercram.com/2010/01/multi-cpu-graphing-in-cacti.html" target="_blank" rel="noopener">http://www.powercram.com/2010/01/multi-cpu-graphing-in-cacti.html</a></p>
<p>*) konqueror 一直開一直開 (我是裝 KDE)<br />
<a class="smarterwiki-linkify" href="http://forums.gentoo.org/viewtopic-t-966160-start-0.html" target="_blank" rel="noopener">http://forums.gentoo.org/viewtopic-t-966160-start-0.html</a><br />
裝 dolphin 就好了</p>
<p>*) 中文<br />
幹, 什麼年代了, 中文還是很難搞. 而且裝了還是很難用 (哭哭)<br />
# emerge scim-bridge scim-tables<br />
按照 Gentoo 的文件 http://www.gentoo-wiki.info/Input_Methods<br />
加上<br />
[Qt]<br />
DefaultInputMethod=scim-bridge</p>
<p>在 ~/.xprofile 加上<br />
[TEXT]<br />
export LC_CTYPE=zh_TW.UTF-8<br />
export GTK_IM_MODULE=scim-bridge<br />
export QT_IM_MODULE=scim-bridge<br />
export XMODIFIERS=&#8221;@im=SCIM&#8221;<br />
scim -d<br />
[/TEXT]</p>
<p>*) Dropbox<br />
emerge net-misc/dropbox<br />
再在 user mode 下執行 dropbox 就可以了.</p>
<p>*) Power/Frequency<br />
結論是, 什麼都不用動. 系統會自己跑 800Mhz~2.9G.<br />
Linux kernel version 3.12.3-gentoo. 看起來問題不大.</p>
<p>不過 cpufreq-info 回報的 CPU Frequency 是錯的, 要用 i7z 去看.<br />
如果 i7z 執行有問題, 可以參考這個網頁最後 patch 一下就可以執行了.<br />
https://bbs.archlinux.org/viewtopic.php?pid=1306943<br />
P.S 我是 patch 之後會出現 C7 State .</p>
<p>可以開啟內鍵的 Intel pstate driver, 這會啟動 pstate-drver 取代 cpufreq-acpi 管理程式. 不過i7z 內顯示的頻率就會變得很怪, 但是按照 intel 的說法 ondaemnd 己經不適合 intel 目前的管理模式了, 我現在也不太確定到底什麼是正確的.<br />
還是用原來的 cpufreq-acpi driver 跑 ondaemnd.</p>
<p>Ref.<br />
https://bbs.archlinux.org/viewtopic.php?pid=1306943<br />
http://forums.gentoo.org/viewtopic-p-7442152.html<br />
http://forums.gentoo.org/viewtopic-p-7396848.html#7396848<br />
phc-intel<br />
http://forums.gentoo.org/viewtopic-t-932096-start-0.html<br />
http://www.expreview.com/25426.html</p>
<p>*) Un-Plug SATA</p>
<p># echo 1 &gt; /sys/block/sdg/device/delete<br />
or<br />
# hdparm -F /dev/sdb # force flush write cache<br />
# hdparm -Y /dev/sdb # spin down and switch off the drive completely (until the kernel makes it spin up again)</p>
<p>不過我都是 unmount 就算了.<br />
Ref.<br />
http://forums.gentoo.org/viewtopic-p-6660527.html?sid=e63439cb70cd4c79f96cec3249590058</p>
<p>*) Vmware 抓不到 USB Device 的問題</p>
<p>在 /etc/init.d/vmware 前先執行<br />
# /etc/init.d/vmware-USBArbitrator start<br />
可以用<br />
# rc-update add vmware-USBArbitrator boot<br />
確保先執行.</p>
<p>如果沒有這個檔案, 可以解開 vmware 的 Package 再 copy 進去.</p>
<p>*) Sound<br />
預設 sound 應該就可以工作, 有一個小問題是要在 alsa 內指定 default sound device.<br />
要不然就會有如下的字樣<br />
[TEXT]<br />
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave<br />
[/TEXT]</p>
<p>可以在 ~/.asoundrc 加入如下的內容就可以了<br />
[TEXT]<br />
defaults.pcm.!card 1<br />
defaults.pcm.!device 7</p>
<p>pcm.!default {<br />
type hw<br />
card 1<br />
}</p>
<p>ctl.!default {<br />
type hw<br />
card 1<br />
}<br />
[/TEXT]<br />
可以用<br />
# aplay -L<br />
# aplay -l<br />
查看 device 和 hw mixer 的資訊</p>
<p>Ref.<br />
Gentoo USB Device not Reconzgized<br />
https://bbs.archlinux.org/viewtopic.php?pid=1356156</p>
<p>*) Disable UltraNav Touchpad<br />
首先安裝 xinput<br />
# emerge -av xinput</p>
<p>再來就是用 xinput 列出 device<br />
[TEXT]<br />
$ DISPLAY=:0 xinput<br />
⎡ Virtual core pointer id=2 [master pointer (3)]<br />
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]<br />
⎜ ↳ Logitech USB-PS/2 Trackball id=13 [slave pointer (2)]<br />
⎜ ↳ Synaptics Inc. Composite TouchPad / TrackPoint id=10 [slave pointer (2)]<br />
⎜ ↳ Synaptics Inc. Composite TouchPad / TrackPoint id=9 [slave pointer (2)]<br />
⎣ Virtual core keyboard id=3 [master keyboard (2)]<br />
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]<br />
↳ Power Button id=6 [slave keyboard (3)]<br />
↳ Video Bus id=7 [slave keyboard (3)]<br />
↳ Power Button id=8 [slave keyboard (3)]<br />
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]<br />
↳ Lite-On Tech IBM USB Keyboard with UltraNav id=11 [slave keyboard (3)]<br />
↳ Lite-On Tech IBM USB Keyboard with UltraNav id=12 [slave keyboard (3)]<br />
[/TEXT]<br />
&#8220;Synaptics Inc. Composite TouchPad / TrackPoint id=9 [slave pointer (2)]&#8221; 這個就是我們要 Disable 的目標.</p>
<p>執行<br />
# xinput &#8211;set-prop 9 &#8220;Device Enabled&#8221; 0<br />
就可以 Disable touch pad, 如果要重新啟動, 就執行<br />
# xinput &#8211;set-prop 9 &#8220;Device Enabled&#8221; 1<br />
id = 10 的那個是小紅點, 如果不小心 diable 小紅點, 可以交換一下 id 試試看</p>
<p>*) 心得</p>
<p>這一台是我今年年末大升級的機器, 雖然花了將近一萬五. (驚, 有這麼多).<br />
不過在節能上還是看起來很威的.<br />
舊平台是 4850e + 780G + 4*HDDs, 當然 Power , HDD 也有差異, 不過應該相去不遠.</p>
<p>待機耗電 : 3.xW (OLD: 10W)<br />
開機不跑程式 : 58W (如果只有裝 2*HDDs, 是 3xW, OLD: 9XW)<br />
全速執行程式 : 100W (OLD: 130W)<br />
一核全速 : 6XW (只有裝 2*HDDs)</p>
<p>大概比前一個平台省了約 30~40W, 算是小弟對節能的小小貢獻.</p>
<p>若是和另一台 Q6600 + ATI 4850 顯卡比, 這一台待機就要耗 160W, 跑個程式就要耗 210W 以上. 想必新電腦省電很多很多了 :p<br />
和 Q6600 (o.c 3.0G) 比, 這台的 compile 速度也快上很多, 不過我不知道是不是我的心理因素, 我沒有去測試過. 不過應該符合我目前對這個平台速度和節能的期望了.</p>
<p>一句話: 我很滿意 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>==<br />
VMWARE workstation 12 or VMWARE Player 12 在新的系統有個小問題 USB Arb 有錯誤訊息, 有跑 Process 不過懶得查了, 短時間沒找到解決方案, 改用 VirtualBox</p>
<blockquote><p>2016-04-25T04:24:42.623+08:00| usbArb| I125: VMware USB Arbitration Service Version 15.1.7<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: USBGL: USB Sysfs found at /dev/bus/usb<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: USBArb: Attempting to connect to existing arbitrator on /var/run/vmware/usbarbitrator-socket.<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: SOCKET creating new socket, connecting to /var/run/vmware/usbarbitrator-socket<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: SOCKET connect failed, error 2: No such file or directory<br />
2016-04-25T04:24:42.623+08:00| usbArb| I125: USBArb: Failed to connect to the existing arbitrator.<br />
2016-04-25T04:31:01.719+08:00| usbArb| I125: USBArb: UsbArbPipeConnected: Connected to client, socket:4<br />
2016-04-25T04:31:01.730+08:00| usbArb| I125: USBArb: Closing client, error:2<br />
2016-04-25T04:31:01.730+08:00| usbArb| I125: USBArb: Client 0 disconnected</p></blockquote>
<p>&nbsp;</p>
<p><del datetime="2016-04-24T21:58:16+00:00">升級到 Linux kernel 4.5 直接安裝 app-emulation/vmware-modules 就可以了</del></p>
<p><del datetime="2016-04-23T03:17:48+00:00">後記: 升級到 Linux kernel 3.18 long term stable version </del></p>
<p>vmware 要從這邊下載 patch<br />
https://aur.archlinux.org/packages/vmware-patch/</p>
<p>記得 kvm 要關<br />
https://wiki.archlinux.org/index.php/VMware</p>
<p>Kernel 3.18 要升級到 udev 2.16 以上, userspace firmware helper 要關掉.<br />
https://wiki.gentoo.org/wiki/Udev/upgrade</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/">[Gentoo] 電腦升級案 32bit -&gt; 64bit Linux</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/12/26/1583/gentoo-%e9%9b%bb%e8%85%a6%e5%8d%87%e7%b4%9a%e6%a1%88-32bit-64bit-linux/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo 從 MySQL 5.1 升級 MariaDB 5.5.x</title>
		<link>https://blog.richliu.com/2013/04/11/1445/gentoo-%e5%be%9e-mysql-5-1-%e5%8d%87%e7%b4%9a-mariadb-5-5-x/</link>
					<comments>https://blog.richliu.com/2013/04/11/1445/gentoo-%e5%be%9e-mysql-5-1-%e5%8d%87%e7%b4%9a-mariadb-5-5-x/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Thu, 11 Apr 2013 05:45:49 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[升級]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1445</guid>

					<description><![CDATA[<p>在 Oracle 吃掉 SUN 取得 MySQL 之後, 大家一直以為 Oracle 會砍掉 MySQL, 不 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/04/11/1445/gentoo-%e5%be%9e-mysql-5-1-%e5%8d%87%e7%b4%9a-mariadb-5-5-x/">Gentoo 從 MySQL 5.1 升級 MariaDB 5.5.x</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>在 Oracle 吃掉 SUN 取得 MySQL 之後, 大家一直以為 Oracle 會砍掉 MySQL, 不過直到現在還是沒有動手, 但是仍然有點小動作讓人擔心, 像是移除 test case[1]. </p>
<p>不過對於使用 MySQL 己久, 並且很熟悉 MySQL 生態的我們, 其實換 MySQL 並不是這麼迫切的事情, 畢竟還沒有到末日嘛.<br />
不過該來的還是會來, 之前 Gentoo portage 出現 MySQL 5.5 升級的選項, 我一升級上去, MySQL 5.5 就動不了, 原因不明, 我也懶得查, 所以我暫時設 mask 暫時用舊版.<br />
該來的還是會來, 最近的 Portage 似乎就有強迫要使用 5.5 的傾向了, Getoo MySQL 5.5 有提供 MySQL 和 MariaDB 的選項. </p>
<p>目前來看, 比起 MySQL,  MariaDB 是比較好的選擇[2]. 至少應該不用怕 Oracle 砍掉這個 Product, 畢竟 Oracle 的主力是 Oracle 的 DB. 不是 MySQL.</p>
<p>查了一下, Gentoo 論壇[3]內似乎沒有關於升級到 MariaDB 的災情出現, 所以我也就有點放心的準備升級了. (常用 Gentoo 的就知道, 有時沒有這麼順利的事情呀)</p>
<p>不過隨手升了一下, 還真的很簡單, 以下是步驟<br />
(1) Stop MySQL<br />
$ /etc/init.d/mysql stop<br />
(2) 移除 /etc/portage/package.mask 有關 virtual/mysql-5.5 那一行<br />
(3) 安裝 MariaDB<br />
$ emerge -aV MariaDB<br />
(4) 升級 configure file.<br />
$ etc-update<br />
(5) 升級 MySQL DB<br />
$  mysql_upgrade &#8211;password=<mysql db 的密碼><br />
(6) 更新系統的 MySQL Library , 這是最難的, 不過會用 Gentoo 的就要自己解了<br />
$ revdep-rebuild</p>
<p>目前看起來還算正常, 希望不要出什麼大問題才好. </p>
<p>[1] <a href="http://techcrunch.com/2012/08/18/oracle-makes-more-moves-to-kill-open-source-mysql/" target="_blank" rel="noopener">Oracle Makes More Moves To Kill Open Source MySQL</a><br />
[2] <a href="https://kb.askmonty.org/en/mariadb-versus-mysql-features/" target="_blank" rel="noopener">MariaDB versus MySQL &#8211; Features</a><br />
[3] <a href="http://forums.gentoo.org/viewtopic-p-7278928.html" target="_blank" rel="noopener">MySQL &#8211;> MariaDB howto?</a></mysql></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/04/11/1445/gentoo-%e5%be%9e-mysql-5-1-%e5%8d%87%e7%b4%9a-mariadb-5-5-x/">Gentoo 從 MySQL 5.1 升級 MariaDB 5.5.x</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/04/11/1445/gentoo-%e5%be%9e-mysql-5-1-%e5%8d%87%e7%b4%9a-mariadb-5-5-x/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo 連 Hinet 的 Tunnel Broker</title>
		<link>https://blog.richliu.com/2013/03/21/1424/gentoo-%e9%80%a3-hinet-%e7%9a%84-tunnel-broker/</link>
					<comments>https://blog.richliu.com/2013/03/21/1424/gentoo-%e9%80%a3-hinet-%e7%9a%84-tunnel-broker/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Thu, 21 Mar 2013 06:58:51 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[hinet]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[tunnel broker]]></category>
		<category><![CDATA[中研院]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1424</guid>

					<description><![CDATA[<p>剛剛看到中研院的公告 【障礙說明】總辦事處區域網路故障說明 查了一下, 發現 ASCC 的 IPv6 Tunn [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/03/21/1424/gentoo-%e9%80%a3-hinet-%e7%9a%84-tunnel-broker/">Gentoo 連 Hinet 的 Tunnel Broker</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>剛剛看到中研院的公告<br />
<a href="http://ascc.sinica.edu.tw/iascc/articals.php?_section=2.3&#038;_op=?articalID:4556" target="_blank" rel="noopener">【障礙說明】總辦事處區域網路故障說明</a><br />
查了一下, 發現 ASCC 的 IPv6 Tunnel Broker 不能用了, 所以只好暫時跳到 Hinet 的 Tunnel Broker 去. </p>
<p>我是 Hinet 浮動 IP 的用戶, 所以只能使用 Hinet IPv6 Tunnel Broker.<br />
請參考本站文章 <a href="http://blog.richliu.com/2012/04/28/1204/" target="_blank">Gentoo Gateway 連中研院的 IPv6 Tunnel Broker</a> 安裝 go6 的 Gateway Software. </p>
<p>在 gw6c.conf 有四處要修改<br />
[TEXT]<br />
userid=<hinet 8 位數帳號, 不需 @hinet.net><br />
passwd=</hinet><hinet 密碼><br />
server=203.74.21.88<br />
auth_method=passdss-3des-1<br />
[/TEXT]</p>
<p>這樣就可以從中研院跳到 Hinet 了. </p>
<p>Reference:<br />
<a href="http://www.ipv6.hinet.net/installGuide.htm" target="_blank" rel="noopener">HiNet IPv6 Tunnel Broker服務使用說明</a><br />
</hinet></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/03/21/1424/gentoo-%e9%80%a3-hinet-%e7%9a%84-tunnel-broker/">Gentoo 連 Hinet 的 Tunnel Broker</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/03/21/1424/gentoo-%e9%80%a3-hinet-%e7%9a%84-tunnel-broker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] Gentoo Source Kernel 升級的問題</title>
		<link>https://blog.richliu.com/2013/02/20/1392/gentoo-gentoo-source-kernel-%e5%8d%87%e7%b4%9a%e7%9a%84%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.richliu.com/2013/02/20/1392/gentoo-gentoo-source-kernel-%e5%8d%87%e7%b4%9a%e7%9a%84%e5%95%8f%e9%a1%8c/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Wed, 20 Feb 2013 06:40:38 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[780G]]></category>
		<category><![CDATA[AMD]]></category>
		<category><![CDATA[KMS]]></category>
		<category><![CDATA[Xorg-server]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1392</guid>

					<description><![CDATA[<p>記錄一下.. Gentoo kernel 升級到 Linux kernel 3.7 之後, 如果是使用 gen [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/02/20/1392/gentoo-gentoo-source-kernel-%e5%8d%87%e7%b4%9a%e7%9a%84%e5%95%8f%e9%a1%8c/">[Gentoo] Gentoo Source Kernel 升級的問題</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>記錄一下..<br />
<span id="more-1392"></span><br />
Gentoo kernel 升級到 Linux kernel 3.7 之後, 如果是使用 genkernel 產生 Linux Kernel, 預設 kernel configure 己經拿掉 IPv4 NAT support.<br />
記得有用到要加回來. </p>
<p>-*- Networking support  &#8212;><br />
      Networking options  &#8212;><br />
[*] Network packet filtering framework (Netfilter)  &#8212;><br />
      IP: Netfilter Configuration  &#8212;><br />
<m>   IPv4 NAT<br />
</m><m>     MASQUERADE target support<br />
</m><m>     NETMAP target support<br />
</m><m>     REDIRECT target support</p>
<p>我是 AMD + 780G 的平台, 如果 xorg 執行的時候碰到 error message<br />
[TEXT]<br />
[KMS] drm report modesetting isn&#8217;t supported<br />
[/TEXT]<br />
就參照<a href="http://forums.gentoo.org/viewtopic-p-7113858.html#7113858" target="_blank" rel="noopener">這篇</a>的做法設定, 主要是 modsetting 要 enable.<br />
我記得我舊 kernel module load 之前有 enable(設定在 /etc/conf.d/modules 內), 不過不知道為什麼不能動了. </p>
<p></m></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/02/20/1392/gentoo-gentoo-source-kernel-%e5%8d%87%e7%b4%9a%e7%9a%84%e5%95%8f%e9%a1%8c/">[Gentoo] Gentoo Source Kernel 升級的問題</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/02/20/1392/gentoo-gentoo-source-kernel-%e5%8d%87%e7%b4%9a%e7%9a%84%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo 常用指令</title>
		<link>https://blog.richliu.com/2013/02/20/1048/gentoo-%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4/</link>
					<comments>https://blog.richliu.com/2013/02/20/1048/gentoo-%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Wed, 20 Feb 2013 05:47:35 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[manage]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[升級]]></category>
		<category><![CDATA[管理]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1048</guid>

					<description><![CDATA[<p>好像沒有整理一篇常用的指令, 開一篇新的 KDE/QT 相關 列出所有和 KDE 相關的套件 $ qlist  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/02/20/1048/gentoo-%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4/">Gentoo 常用指令</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>

好像沒有整理一篇常用的指令, 開一篇新的

</p>



<span id="more-1048"></span>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h2>Table of Contents</h2><nav><ul><li><a href="#kde-qt-相關">KDE/QT 相關</a><ul><li><a href="#列出所有和-kde-相關的套件"> 列出所有和 KDE 相關的套件 </a></li><li><a href="#直接升級所有和-kde-相關的套件"> 直接升級所有和 kde 相關的套件 </a></li><li><a href="#重裝所有和-x-11-drivers-相關的套件"> 重裝所有和 x11-drivers 相關的套件 </a></li><li><a href="#重裝所有和-qt-相關的套件"> 重裝所有和 QT 相關的套件 </a></li><li><a href="#當有-block-時如何升級-kde-相關套件">當有 block 時如何升級 KDE 相關套件</a></li><li><a href="#重編-xorg-server"> 重編 xorg-server </a></li></ul></li><li><a href="#一般">一般</a><ul><li><a href="#全系統升級"> 全系統升級 </a></li><li><a href="#移掉不必要的-package"> 移掉不必要的 package </a></li><li><a href="#重編和-perl-相關的套件"> 重編和 perl 相關的套件 </a></li><li><a href="#perl-升級">Perl 升級</a></li><li><a href="#perl-blocks">Perl Blocks</a></li><li><a href="#找不到-library">找不到 Library</a></li><li><a href="#xfs-filesystem-sdb-7-has-duplicate-uuid-cant-mount"> XFS: Filesystem sdb7 has duplicate UUID &#8211; can&#8217;t mount </a></li></ul></li><li><a href="#查詢編譯時間">查詢編譯時間</a></li><li><a href="#查詢系統有多少-package-依賴某個版本的某-package">查詢系統有多少 Package 依賴某個版本的某 Package</a></li><li><a href="#neofetch">neofetch</a></li><li><a href="#masked-by-eapi-8">masked by: EAPI 8</a></li><li><a href="#gentoo-default-password-rule-太機車">Gentoo default password rule 太機車</a></li><li><a href="#compile-dev-qt-qtwebengine-的問題">Compile dev-qt/qtwebengine 的問題</a></li></ul></nav></div>



<h3 class="wp-block-heading" id="kde-qt-相關">KDE/QT 相關</h3>



<h4 class="wp-block-heading" id="列出所有和-kde-相關的套件"> 列出所有和 KDE 相關的套件 </h4>



<pre class="wp-block-preformatted">$ qlist -I kde</pre>



<h4 class="wp-block-heading" id="直接升級所有和-kde-相關的套件"> 直接升級所有和 kde 相關的套件 </h4>



<pre class="wp-block-preformatted">$ qlist -IC kde | xargs emerge -u</pre>



<h4 class="wp-block-heading" id="重裝所有和-x-11-drivers-相關的套件"> 重裝所有和 x11-drivers 相關的套件 </h4>



<pre class="wp-block-preformatted">$ emerge $(qlist -IC x11-drivers)</pre>



<h4 class="wp-block-heading" id="重裝所有和-qt-相關的套件"> 重裝所有和 QT 相關的套件 </h4>



<pre class="wp-block-preformatted">$ emerge -qa1 $(qlist -IC dev-qt/qt)</pre>



<h4 class="wp-block-heading" id="當有-block-時如何升級-kde-相關套件">當有 block 時如何升級 KDE 相關套件</h4>



<p>目前我自己試出來最好用的指令</p>



<pre class="wp-block-code"><code># emerge -1 --keep-going `qlist -IC kde-frameworks kde-plasma`</code></pre>



<h4 class="wp-block-heading" id="重編-xorg-server"> 重編 xorg-server </h4>



<p><a rel="noreferrer noopener" aria-label="Qt/FAQ Why do I get blockers when trying to emerge Qt? (opens in a new tab)" href="https://wiki.gentoo.org/wiki/Qt/FAQ" target="_blank">Qt/FAQ Why do I get blockers when trying to emerge Qt?</a><br /><br />不打包備份的指令，如果要打包請參照以上的連結</p>



<pre class="wp-block-preformatted"># export INSTALLED_QT_PACKAGES=$(qlist -IC "dev-qt/*") 
# emerge -Ca ${INSTALLED_QT_PACKAGES} &amp;&amp; emerge -av1 ${INSTALLED_QT_PACKAGES} </pre>



<p>如果那個套件常常當掉, 請記得一定要下這個指令</p>



<pre class="wp-block-preformatted"> $ emerge -avDuN xorg-server </pre>



<h3 class="wp-block-heading" id="一般">一般</h3>



<h4 class="wp-block-heading" id="全系統升級"> 全系統升級 </h4>



<p>全系統升級指令，三不五時常用保健康（？）</p>



<pre class="wp-block-preformatted">emerge --update --newuse --deep --with-bdeps=y @world 

# 如果中間碰到問題，要繼續 emerge 下去，加上--keep-going=y
$ emerge --update --newuse --deep --with-bdeps=y --keep-going=y @world</pre>



<p>例如升級 Gcc 之後</p>



<pre class="wp-block-preformatted">$ emerge -tv1 gcc <br />$ emerge -atvuND world  </pre>



<h4 class="wp-block-heading" id="移掉不必要的-package"> 移掉不必要的 package </h4>



<p>有時候怪怪的 dependency 也可以用重編修掉</p>



<pre class="wp-block-preformatted"> # emerge --depclean </pre>



<h4 class="wp-block-heading" id="重編和-perl-相關的套件"> 重編和 perl 相關的套件 </h4>



<p>重編和 perl 相關的套件 (這個應該適合在很多 perl 套件升級的時候用)</p>



<pre class="wp-block-preformatted"><s>$ perl-cleaner --phupdate --modules</s>
$ perl-cleaner --all </pre>



<h4 class="wp-block-heading" id="perl-升級">Perl 升級</h4>



<p>perl 從 5.18 升級 Perl 5.20 時要用的指令, 這個應該是最順的.(<a rel="noreferrer noopener" href="http://www.gossamer-threads.com/lists/gentoo/user/293304" target="_blank">perl-5.20.1 &#8211; has anybody managed to upgrade Perl?</a>)</p>



<pre class="wp-block-preformatted">$ emerge -av1O dev-lang/perl 
$ emerge -1 -j4 --keep-going `qlist -IC virtual/perl-` 
$ emerge -1 perl-cleaner </pre>



<h4 class="wp-block-heading" id="perl-blocks">Perl Blocks</h4>



<pre class="wp-block-preformatted">root # emerge -uDNav --with-bdeps=y --backtrack=100 --autounmask-keep-masks=y @world
root # perl-cleaner --all </pre>



<p>ref.<br /><a rel="noreferrer noopener" aria-label="TL;DR: Blockers (opens in a new tab)" href="https://wiki.gentoo.org/wiki/Perl#TL.3BDR:_Blockers" target="_blank">TL;DR: Blockers</a></p>



<h4 class="wp-block-heading" id="找不到-library">找不到 Library</h4>



<p>e.g.<br />/usr/lib/gcc/i686-pc-linux-gnu/4.4.6/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lpng14<br />collect2: ld returned 1 exit status<br /># lafilefixer &#8211;justfixit find -name \*.la -exec sed -i -e &#8216;s/-lpng14/-lpng15/&#8217; &#8216;{}&#8217; \<br /><br />註: 已經很久沒碰到這個問題了</p>



<h4 class="wp-block-heading" id="xfs-filesystem-sdb-7-has-duplicate-uuid-cant-mount"> XFS: Filesystem sdb7 has duplicate UUID &#8211; can&#8217;t mount </h4>



<p>如果是碰到可以參照<a rel="noreferrer noopener" href="http://linux-tips.org/article/50/xfs-filesystem- has-duplicate-uuid-problem" target="_blank">這篇</a>, 執行命令<br /># xfs_admin -U generate /dev/md2 <br />Clearing log and setting UUID writing all SBs new UUID = 1984d60c-6135-4d4c-8356-d1fc2080dbdc <br />記得 /etc/fstab 如果是用 UUID mount 的, 也要改一下.</p>



<h2 class="wp-block-heading" id="常用指令">常用指令</h2>



<h3 class="wp-block-heading" id="查詢編譯時間">查詢編譯時間</h3>



<p>$ qlop -t package</p>



<pre class="wp-block-preformatted"># qlop -t llvm
2021-07-01T02:47:45 &gt;&gt;&gt; sys-devel/llvm: 25′00″
2021-07-01T10:37:28 &lt;&lt;&lt; sys-devel/llvm: 2s
2021-09-30T22:54:53 &gt;&gt;&gt; sys-devel/llvm: 22′35″
2021-10-01T08:16:56 &gt;&gt;&gt; sys-devel/llvm: 24′44″
2021-10-08T08:55:06 &gt;&gt;&gt; sys-devel/llvm: 25′32″
</pre>



<h3 class="wp-block-heading" id="查詢系統有多少-package-依賴某個版本的某-package">查詢系統有多少 Package 依賴某個版本的某 Package</h3>



<pre class="wp-block-preformatted"># emerge -pvc llvm:13

Calculating dependencies... done!
  sys-devel/llvm-13.0.0 pulled in by:
    dev-lang/spidermonkey-78.15.0 requires sys-devel/llvm:13
    media-libs/mesa-21.3.0 requires &lt;sys-devel/llvm-14:13/13=, &lt;sys-devel/llvm-14:=, sys-devel/llvm:13
    sys-devel/clang-13.0.0 requires ~sys-devel/llvm-13.0.0[llvm_targets_BPF], ~sys-devel/llvm-13.0.0:13/13=[-debug], ~sys-devel/llvm-13.0.0[llvm_targets_AArch64], ~sys-devel/llvm-13.0.0:13=[-debug]
    sys-devel/lld-13.0.0 requires ~sys-devel/llvm-13.0.0
    sys-devel/llvmgold-13-r1 requires sys-devel/llvm:13[gold(-)]
    sys-libs/compiler-rt-13.0.0 requires &gt;=sys-devel/llvm-6
    sys-libs/compiler-rt-sanitizers-13.0.0 requires &gt;=sys-devel/llvm-6
    www-client/firefox-94.0.2 requires sys-devel/llvm:13

&gt;&gt;&gt; No packages selected for removal by depclean
Packages installed:   884
Packages in world:    65
Packages in system:   43
Required packages:    884
Number to remove:     0</pre>



<h3 class="wp-block-heading" id="neofetch">neofetch</h3>



<p>這個還頗常用的，但是常常忘記的指令</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1777" height="614" src="https://blog.richliu.com/wp-content/uploads/2024/01/image-21.png" alt="" class="wp-image-5481" srcset="https://blog.richliu.com/wp-content/uploads/2024/01/image-21.png 1777w, https://blog.richliu.com/wp-content/uploads/2024/01/image-21-600x207.png 600w, https://blog.richliu.com/wp-content/uploads/2024/01/image-21-768x265.png 768w, https://blog.richliu.com/wp-content/uploads/2024/01/image-21-1536x531.png 1536w" sizes="(max-width: 1777px) 100vw, 1777px" /></figure>



<h2 class="wp-block-heading" id="碰到的怪問題">碰到的怪問題</h2>



<h3 class="wp-block-heading" id="masked-by-eapi-8">masked by: EAPI 8</h3>



<pre class="wp-block-preformatted">!!! All ebuilds that could satisfy "dev-perl/Locale-Maketext-Lexicon" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-perl/Locale-Maketext-Lexicon-1.0.0-r1::gentoo (masked by: EAPI 8)
</pre>



<p>這個是沒有升級 portage ，升級一下就好了</p>



<pre class="wp-block-preformatted"># emerge -a1O portage</pre>



<h2 class="wp-block-heading" id="系統設定">系統設定</h2>



<h3 class="wp-block-heading" id="gentoo-default-password-rule-太機車">Gentoo default password rule 太機車</h3>



<p>修改 /etc/security/passwdqc.conf 將 min= 改成 min=<code>1,1,1,1,1</code></p>



<p>ref.<br /><a href="https://www.reddit.com/r/Gentoo/comments/qf67k9/gentoo_very_big_password_requirements/" target="_blank" rel="noreferrer noopener">Gentoo Very Big Password Requirements</a></p>



<h3 class="wp-block-heading" id="compile-dev-qt-qtwebengine-的問題">Compile dev-qt/qtwebengine 的問題</h3>



<p>當 compile dev-qt/qtwebengine 時，如果你的系統有很多 CPU cores ，底層用的 ninja 似乎就會出問題，應該是這個檔案太大，所以 cache 太多資料，唯一的解決方法是減少 CPU Cores <br />我自己的經驗是，如果在較舊(慢)的電腦 CPU 可以多一點，如果是新的電腦 CPU 要少一點<br /><br />有幾個方法可以用 chcpu &#8211;disable &lt;CPU cores&gt; 簡單暴力，但是只適合單一測試使用，如果要長久設定，可以用 <a rel="noreferrer noopener" href="https://wiki.gentoo.org/wiki//etc/portage/package.env" data-type="URL" data-id="https://wiki.gentoo.org/wiki//etc/portage/package.env" target="_blank">portage.env</a> 的方式設定，ex:</p>



<pre class="wp-block-code"><code>echo "dev-qt/qtwebengine lowcpu.conf" &gt;&gt; /etc/portage/package.env
echo "MAKEOPTS=\"-j4\"" &gt; /etc/portage/env/lowcpu.conf</code></pre>



<p>這樣在編 qtwebengine 時就會使用 MAKEOPTS=&#8221;-j4&#8243; 的命令了<br />ref<br /><a href="https://forums.gentoo.org/viewtopic-t-1057526-start-0-postdays-0-postorder-asc-highlight-.html" target="_blank" rel="noopener">[SOLVED] emerging qtwebengine-5.7.1</a></p>



<h1 class="wp-block-heading" id="expired-備份用">Expired (備份用)</h1>



<p>如果要升級某個特定的套件, 這樣就可以將 perl modules 統統升級.</p>



<pre class="wp-block-preformatted">$ for f in `qlist -IC perl` ; do emerge -u $f ; done</pre>



<p>2011/4/22<br />hal 己經不再使用, 全面改用 udev, 所以</p>



<pre class="wp-block-preformatted">USE="-hal udev"</pre>



<p>revdep-rebuild 碰到 vmware 的問題<br />新增一個檔案 /etc/revdep-rebuild/11-vmware<br />內容是 SEARCH_DIRS_MASK=&#8221;/usr/lib64/vmware /usr/lib64/vmware-installer&#8221; <br />感覺只是埋起來啊, 不會出問題就算了</p>



<pre class="wp-block-preformatted"> * Checking dynamic linking consistency
[ 87% ]  *   broken /usr/lib64/vmware-installer/2.1.0/lib/libconf/lib/gtk-2.0/2.10.0/loaders/libpixb
ufloader-tiff.so (requires libtiff.so.3)
 *   broken /usr/lib64/vmware-installer/2.1.0/sopython/libpy25.so (requires libpython2.5.so.1.0)
[ 88% ]  *   broken /usr/lib64/vmware/lib/libgksu2.so.0/libgksu2.so.0 (requires libgtop-2.0.so.7
libstartup-notification-1.so.0)
[ 89% ]  *   broken /usr/lib64/vmware/lib/libvmware-gksu.so/libvmware-gksu.so (requires libgksu2.so.
0)
 *   broken /usr/lib64/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tiff.so (requires l
ibtiff.so.3)
[ 100% ]
 * Generated new 3_broken.rr
 * Assigning files to packages
 *  !!! /usr/lib64/vmware-installer/2.1.0/lib/libconf/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tif
f.so not owned by any package is broken !!!
 *   /usr/lib64/vmware-installer/2.1.0/lib/libconf/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tiff.s
o -&gt; (none)
 *  !!! /usr/lib64/vmware-installer/2.1.0/sopython/libpy25.so not owned by any package is broken !!!
 *   /usr/lib64/vmware-installer/2.1.0/sopython/libpy25.so -&gt; (none)
 *  !!! /usr/lib64/vmware/lib/libgksu2.so.0/libgksu2.so.0 not owned by any package is broken !!!
 *   /usr/lib64/vmware/lib/libgksu2.so.0/libgksu2.so.0 -&gt; (none)
 *  !!! /usr/lib64/vmware/lib/libvmware-gksu.so/libvmware-gksu.so not owned by any package is broken
 !!!
 *   /usr/lib64/vmware/lib/libvmware-gksu.so/libvmware-gksu.so -&gt; (none)
 *  !!! /usr/lib64/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tiff.so not owned by an
y package is broken !!!
 *   /usr/lib64/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tiff.so -&gt; (none)
 * Generated new 4_raw.rr and 4_owners.rr</pre>



<p></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/02/20/1048/gentoo-%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4/">Gentoo 常用指令</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/02/20/1048/gentoo-%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Upgrading udev from 171 (or older) to 197</title>
		<link>https://blog.richliu.com/2013/02/01/1379/upgrading-udev-from-171-or-older-to-197/</link>
					<comments>https://blog.richliu.com/2013/02/01/1379/upgrading-udev-from-171-or-older-to-197/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Fri, 01 Feb 2013 08:00:17 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[udev]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1379</guid>

					<description><![CDATA[<p>上次升到 udev + kernel 3.7.1, device 那邊怪怪的, 記錄一下, 以後碰到了可以查  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/02/01/1379/upgrading-udev-from-171-or-older-to-197/">Upgrading udev from 171 (or older) to 197</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>上次升到 udev + kernel 3.7.1, device 那邊怪怪的, 記錄一下, 以後碰到了可以查</p>
<p><span id="more-1379"></span></p>
<p># eselect news read 18<br />
2013-01-23-udev-upgrade<br />
  Title                     Upgrading udev from 171 (or older) to 197<br />
  Author                    Samuli Suominen <ssuominen @gentoo.org><br />
  Posted                    2013-01-23<br />
  Revision                  1<br />
Upgrading udev from 171 (or older) to 197 will require special attention:</p>
<p>&#8211; Remove udev-postmount from runlevels.</p>
<p>&#8211; The need of CONFIG_DEVTMPFS=y in the kernel; need to verify the fstype for<br />
  possible /dev line in /etc/fstab is devtmpfs (and not, for example, tmpfs)</p>
<p>&#8211; The case of predictable network interface names; if the file<br />
  /etc/udev/rules.d/70-persistent-net.rules is being used for renaming<br />
  network interface names to already existing names, then you need to<br />
  read following bug[1] because it&#8217;s no longer possible. This won&#8217;t<br />
  be a problem with the new predictable network interface name scheme[2].</p>
<p>  [1] http://bugs.gentoo.org/453494<br />
  [2] http://www.freedesktop.org/wiki/Software/systemd/<br />
      PredictableNetworkInterfaceNames</p>
<p>&#8211; Support for older kernels than 2.6.39 is dropped. If you need older kernel<br />
  we recommend you to look into sys-fs/eudev or use local overlay for keeping<br />
  the old ebuild. Remember to also get the distfiles where the patchsets are.<br />
  The upgrade into current stable version of gentoo-sources is recommended.</p>
<p>&#8211; The case of separate /usr; if it worked for you with 171 it will continue<br />
  to work for you with 197. We still recommend initramfs with separate /usr<br />
  mounting capabilities because you might need packages like sys-apps/kbd<br />
  (keymaps in /usr) or net-wireless/bluez (possible keyboard) in early boot.</p>
<p>And read every message printed by the emerge of udev and udev-init-scripts<br />
to ensure the system is in order before booting as this news item might<br />
not be complete.</p>
<p>Apologies if this news came too late for you.<br />
</ssuominen></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2013/02/01/1379/upgrading-udev-from-171-or-older-to-197/">Upgrading udev from 171 (or older) to 197</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2013/02/01/1379/upgrading-udev-from-171-or-older-to-197/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo Apache 2.4.3 升級後的怪問題.</title>
		<link>https://blog.richliu.com/2012/11/06/1345/gentoo-apache-2-4-3-%e5%8d%87%e7%b4%9a%e5%be%8c%e7%9a%84%e6%80%aa%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.richliu.com/2012/11/06/1345/gentoo-apache-2-4-3-%e5%8d%87%e7%b4%9a%e5%be%8c%e7%9a%84%e6%80%aa%e5%95%8f%e9%a1%8c/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Mon, 05 Nov 2012 16:37:05 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[問題]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1345</guid>

					<description><![CDATA[<p>如果出現 &#8220;Invalid command &#8216;User&#8217;, perhaps [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/11/06/1345/gentoo-apache-2-4-3-%e5%8d%87%e7%b4%9a%e5%be%8c%e7%9a%84%e6%80%aa%e5%95%8f%e9%a1%8c/">Gentoo Apache 2.4.3 升級後的怪問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>如果出現<br />
&#8220;Invalid command &#8216;User&#8217;, perhaps misspelled or defined by a module not included in the server configuration&#8221; ..<br />
或是<br />
&#8220;Invalid command &#8216;Require&#8217;, perhaps misspelled or defined by a module not included in the server configuration&#8221; ..</p>
<p>記得在 /etc/make.conf 內的 APACHE2_MODULES= 加上<br />
[TEXT]<br />
unixd access_compat authn_alias authn_core authz_core socache_shmcb<br />
[/TEXT]<br />
P.S 我一次全加了, 免得麻煩.<br />
apache 網站的說明是說 Require 是用到 access_compat , 實際上還是要將 authz_core 和 authn_core 加入</p>
<p>如果網站有 access denied 的狀況, 要將設定稍改一下<br />
[TEXT]<br />
        #       Order allow,deny<br />
        #       Allow from all<br />
                Require all granted<br />
[/TEXT]<br />
舊的 Order 和 Allow 改用 Require command .<br />
大概是這樣. </p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/11/06/1345/gentoo-apache-2-4-3-%e5%8d%87%e7%b4%9a%e5%be%8c%e7%9a%84%e6%80%aa%e5%95%8f%e9%a1%8c/">Gentoo Apache 2.4.3 升級後的怪問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2012/11/06/1345/gentoo-apache-2-4-3-%e5%8d%87%e7%b4%9a%e5%be%8c%e7%9a%84%e6%80%aa%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] 升級 KDE 4.9 的問題.</title>
		<link>https://blog.richliu.com/2012/08/13/1249/gentoo-%e5%8d%87%e7%b4%9a-kde-4-9-%e7%9a%84%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.richliu.com/2012/08/13/1249/gentoo-%e5%8d%87%e7%b4%9a-kde-4-9-%e7%9a%84%e5%95%8f%e9%a1%8c/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Mon, 13 Aug 2012 14:09:38 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[kde 4.9]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1249</guid>

					<description><![CDATA[<p>都什麼年代了, 還在手賤亂升 KDE 系統&#8230;.. 不過習慣了. 整個系統都要慢慢編, 慢慢升上去. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/08/13/1249/gentoo-%e5%8d%87%e7%b4%9a-kde-4-9-%e7%9a%84%e5%95%8f%e9%a1%8c/">[Gentoo] 升級 KDE 4.9 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>都什麼年代了, 還在手賤亂升 KDE 系統&#8230;..</p>
<p><span id="more-1249"></span></p>
<p>不過習慣了. 整個系統都要慢慢編, 慢慢升上去. </p>
<p>這次升級完 KDE 4.9 之後, 系統進入 X 之後, 隨即跳出來, 並且出現錯誤訊息<br />
這搞了我一天才一個一個找到方法解決, 在這邊做個記錄. </p>
<p>[TEXT]<br />
startkde: Starting up&#8230;<br />
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)<br />
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.<br />
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.<br />
kded(1018): Communication problem with  &#8220;kded&#8221; , it probably crashed.<br />
Error message was:  &#8220;org.freedesktop.DBus.Error.NoReply&#8221; : &#8221; &#8220;Message did not receive a reply (timeout by message bus)&#8221; &#8221;</p>
<p>startkde: Shutting down&#8230;<br />
klauncher: Exiting on signal 1<br />
startkde: Running shutdown scripts&#8230;<br />
startkde: Done.<br />
xinit: connection to X server lost<br />
[/TEXT]</p>
<p>這個問題呢, 只要 emerge world 就可以解決了<br />
[BASH]<br />
# emerge -uDNv world<br />
[/BASH]<br />
ref. <a href="http://forum.kde.org/viewtopic.php?f=15&#038;t=107170&#038;p=247557#p247557" target="_blank" rel="noopener">kde 4.9 failed to start</a></p>
<p>接下來 emerge world, 碰到編 crypto++ Library 的問題, (這段是放別人的, 不過原理是一樣的)<br />
[TEXT]<br />
serpent.lo esign.lo randpool.lo  -lpthread<br />
libtool: link: x86_64-pc-linux-gnu-g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/crtbeginS.o  .libs/sharkbox.o .libs/base32.o .libs/files.o .libs/hex.o .libs/gzip.o .libs/fips140.o .libs/mars.o .libs/dh2.o .libs/twofish.o .libs/eprecomp.o .libs/dsa.o .libs/polynomi.o .libs/winpipes.o .libs/vmac.o .libs/hrtimer.o .libs/md2.o .libs/fipstest.o .libs/rc5.o .libs/ccm.o .libs/simple.o .libs/queue.o .libs/xtrcrypt.o .libs/gf256.o .libs/cmac.o .libs/authenc.o .libs/des.o .libs/default.o .libs/idea.o .libs/gcm.o .libs/squaretb.o .libs/xtr.o .libs/emsa2.o .libs/sha.o .libs/network.o .libs/eax.o .libs/tea.o .libs/dessp.o .libs/algparam.o .libs/pch.o .libs/crc.o .libs/elgamal.o .libs/mqueue.o .libs/zlib.o .libs/ecp.o .libs/blowfish.o .libs/marss.o .libs/adler32.o .libs/wait.o .libs/iterhash.o .libs/safer.o .libs/wake.o .libs/gf2n.o .libs/rc2.o .libs/cryptlib_bds.o .libs/oaep.o .libs/square.o .libs/md4.o .libs/ida.o .libs/shark.o .libs/seed.o .libs/shacal2.o .libs/eccrypto.o .libs/ripemd.o .libs/camellia.o .libs/pubkey.o .libs/trdlocal.o .libs/salsa.o .libs/seal.o .libs/luc.o .libs/ttmac.o .libs/gf2_32.o .libs/mqv.o .libs/dh.o .libs/bfinit.o .libs/whrlpool.o .libs/asn.o .libs/rng.o .libs/cast.o .libs/tiger.o .libs/channels.o .libs/zinflate.o .libs/pssr.o .libs/misc.o .libs/pkcspad.o .libs/base64.o .libs/zdeflate.o .libs/basecode.o .libs/algebra.o .libs/blumshub.o .libs/ec2n.o .libs/casts.o .libs/gfpcrypt.o .libs/cryptlib.o .libs/rijndael.o .libs/strciphr.o .libs/modes.o .libs/panama.o .libs/nbtheory.o .libs/md5.o .libs/hmac.o .libs/socketft.o .libs/gost.o .libs/tigertab.o .libs/cbcmac.o .libs/tftables.o .libs/rsa.o .libs/rdtables.o .libs/rw.o .libs/3way.o .libs/rabin.o .libs/filters.o .libs/cpu.o .libs/sosemanuk.o .libs/integer.o .libs/rc6.o .libs/skipjack.o .libs/osrng.o .libs/arc4.o .libs/dll.o .libs/serpent.o .libs/esign.o .libs/randpool.o   -lpthread -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/crtn.o  -Wl,-O1 -Wl,&#8211;as-needed -pthread   -pthread -Wl,-soname -Wl,libcrypto++.so.0 -o .libs/libcrypto++.so.0.0.0<br />
x86_64-pc-linux-gnu-g++: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/crti.o: No such file or directory<br />
x86_64-pc-linux-gnu-g++: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/crtbeginS.o: No such file or directory<br />
x86_64-pc-linux-gnu-g++: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/crtendS.o: No such file or directory<br />
x86_64-pc-linux-gnu-g++: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/crtn.o: No such file or directory<br />
make: *** [libcrypto++.la] Error 1<br />
[/TEXT]</p>
<p>原來以為是 libtool 要用 fix_libtool_files.sh 去修正它, 不過還是沒有用, 最後用了一個很鳥的方式解決, 就是重新編 libtool<br />
[BASH]<br />
# emerge -av libtool<br />
[/BASH]</p>
<p>ref.<br />
<a href="http://forums.gentoo.org/viewtopic-t-932696.html?sid=a50a690e14f6f7897845654c3c31e129" target="_blank" rel="noopener">Cannot compile amule due to crypto++</a></p>
<p>接下來就是碰到編 sys-auth/polkit-kde-agent 的問題<br />
[TEXT]<br />
Linking CXX executable polkit-kde-authentication-agent-1<br />
/usr/bin/cmake -E cmake_link_script CMakeFiles/polkit-kde-authentication-agent-1.dir/link.txt &#8211;verbose=1<br />
/usr/bin/x86_64-pc-linux-gnu-g++   -march=core2 -O2 -pipe  -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden  -Wl,&#8211;enable-new-dtags  -Wl,-O1 -Wl,&#8211;as-needed CMakeFiles/polkit-kde-authentication-agent-1.dir/polkit-kde-authentication-agent-1_automoc.o CMakeFiles/polkit-kde-authentication-agent-1.dir/policykitkde.o CMakeFiles/polkit-kde-authentication-agent-1.dir/policykitlistener.o CMakeFiles/polkit-kde-authentication-agent-1.dir/main.o CMakeFiles/polkit-kde-authentication-agent-1.dir/AuthDialog.o CMakeFiles/polkit-kde-authentication-agent-1.dir/polkit1authagentadaptor.o  -o polkit-kde-authentication-agent-1 -rdynamic -L/usr/lib64/qt4 /usr/lib64/libkdeui.so.5.8.0 -lpolkit-qt-gui-1 -lpolkit-qt-core-1 -lpolkit-qt-agent-1 /usr/lib64/libkdecore.so.5.8.0 /usr/lib64/qt4/libQtDBus.so /usr/lib64/qt4/libQtCore.so -lpthread /usr/lib64/qt4/libQtGui.so /usr/lib64/qt4/libQtSvg.so -Wl,-rpath,/usr/lib64/qt4:<br />
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libattica.so.0.3, needed by /usr/lib64/libkdeui.so.5.8.0, not found (try using -rpath or -rpath-link)<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Person::~Person()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Provider::~Provider()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Person::city() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Person::extendedAttribute(QString const&#038;) const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::ItemJob<attica::person>::result() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Metadata::~Metadata()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::ProviderManager::ProviderManager()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Person::country() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::ProviderManager::providers() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Provider::name() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Provider::Provider()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Person::avatarUrl() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::ProviderManager::loadDefaultProviders()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Metadata::error() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::ProviderManager::~ProviderManager()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::BaseJob::start()&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::ProviderManager::providerByUrl(QUrl const&#038;) const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Provider::isValid() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Provider::requestPerson(QString const&#038;)&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Person::homepage() const&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::Provider::operator=(Attica::Provider const&#038;)&#8217;<br />
/usr/lib64/libkdeui.so.5.8.0: undefined reference to `Attica::BaseJob::metadata() const&#8217;<br />
collect2: ld returned 1 exit status<br />
[/TEXT]</p>
<p>這個內文也是拿別人的, 不過原理還是一樣, 解決方式是重編 kdelib<br />
[BASH]<br />
# emerge -av kdelib<br />
[/BASH]</p>
<p>ref.<br />
<a href="http://forums.gentoo.org/viewtopic-t-932432-start-0.html" target="_blank" rel="noopener">[solved] polkit-kde-agent versus libattica</a></p>
<p>如果 emerge world 有中斷, 解決完問題之後, 可以加上 r 參數從斷掉的地方接下去編, 就不用每次都重來了<br />
[BASH]<br />
# emerge -uDNvr world<br />
[/BASH]<br />
編到超過一半應該就可以試著重新啟動 KDE 了.</attica::person></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/08/13/1249/gentoo-%e5%8d%87%e7%b4%9a-kde-4-9-%e7%9a%84%e5%95%8f%e9%a1%8c/">[Gentoo] 升級 KDE 4.9 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2012/08/13/1249/gentoo-%e5%8d%87%e7%b4%9a-kde-4-9-%e7%9a%84%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Gentoo] Apache 2.2 升級到 Apache 2.4 的問題.</title>
		<link>https://blog.richliu.com/2012/04/28/1209/gentoo-%e5%8d%87%e7%b4%9a%e5%88%b0-apache-2-4-%e7%9a%84%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.richliu.com/2012/04/28/1209/gentoo-%e5%8d%87%e7%b4%9a%e5%88%b0-apache-2-4-%e7%9a%84%e5%95%8f%e9%a1%8c/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sat, 28 Apr 2012 10:28:02 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[apache2.4]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[升級]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1209</guid>

					<description><![CDATA[<p>除了要在 &#8220;/etc/portage/package.unmask&#8221; 加上 [TEXT [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/04/28/1209/gentoo-%e5%8d%87%e7%b4%9a%e5%88%b0-apache-2-4-%e7%9a%84%e5%95%8f%e9%a1%8c/">[Gentoo] Apache 2.2 升級到 Apache 2.4 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>除了要在 &#8220;/etc/portage/package.unmask&#8221; 加上<br />
[TEXT]<br />
www-servers/apache<br />
app-admin/apache-tools<br />
[/TEXT]</p>
<p>以便升級以外..<br />
<span id="more-1209"></span></p>
<p>另外, 在 /etc/apache2/httpd.conf<br />
加上<br />
[TEXT]<br />
LoadModule authn_core_module modules/mod_authn_core.so<br />
LoadModule authz_core_module modules/mod_authz_core.so<br />
LoadModule unixd_module modules/mod_unixd.so<br />
LoadModule access_compat_module modules/mod_access_compat.so<br />
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so<br />
[/TEXT]</p>
<p>從檔案 /etc/apache2/vhosts.d/00_default_vhost.conf 內移除<br />
[TEXT]<br />
# Use name-based virtual hosting.<br />
NameVirtualHost *:80<br />
[/TEXT]</p>
<p>從檔案 /etc/apache2/modules.d/00_mod_mime.conf 內移除<br />
[TEXT]<br />
# DefaultType: the default MIME type the server will use for a document<br />
# if it cannot otherwise determine one, such as from filename extensions.<br />
# If your server contains mostly text or HTML documents, &#8220;text/plain&#8221; is<br />
# a good value.  If most of your content is binary, such as applications<br />
# or images, you may want to use &#8220;application/octet-stream&#8221; instead to<br />
# keep browsers from trying to display binary files as though they are<br />
# text.<br />
DefaultType text/plain<br />
[/TEXT]</p>
<p>修改檔案, /etc/apache2/modules.d/40_mod_ssl.conf<br />
[TEXT]<br />
#SSLMutex  file:/var/run/ssl_mutex<br />
Mutex sysvsem default<br />
[/TEXT]</p>
<p>Ref <a href="https://bugs.gentoo.org/show_bug.cgi?id=410607" target="_blank" rel="noopener">Bug 410607</a></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/04/28/1209/gentoo-%e5%8d%87%e7%b4%9a%e5%88%b0-apache-2-4-%e7%9a%84%e5%95%8f%e9%a1%8c/">[Gentoo] Apache 2.2 升級到 Apache 2.4 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2012/04/28/1209/gentoo-%e5%8d%87%e7%b4%9a%e5%88%b0-apache-2-4-%e7%9a%84%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo Gateway 連中研院的 IPv6 Tunnel Broker</title>
		<link>https://blog.richliu.com/2012/04/28/1204/gentoo-%e9%80%a3%e4%b8%ad%e7%a0%94%e9%99%a2%e7%9a%84-ipv6-tunnel-broker/</link>
					<comments>https://blog.richliu.com/2012/04/28/1204/gentoo-%e9%80%a3%e4%b8%ad%e7%a0%94%e9%99%a2%e7%9a%84-ipv6-tunnel-broker/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Fri, 27 Apr 2012 17:47:38 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[gateway]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[radvd]]></category>
		<category><![CDATA[tunnel broker]]></category>
		<category><![CDATA[中研院]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1204</guid>

					<description><![CDATA[<p>自從從中華電信固3 IP 換光世代之後就失去了 IPv6 Address. 今天剛好在某 PTT 文上看到,  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/04/28/1204/gentoo-%e9%80%a3%e4%b8%ad%e7%a0%94%e9%99%a2%e7%9a%84-ipv6-tunnel-broker/">Gentoo Gateway 連中研院的 IPv6 Tunnel Broker</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>自從從中華電信固3 IP 換光世代之後就失去了 IPv6 Address. </p>
<p>今天剛好在某 PTT 文上看到, 中研院的 IPv6 Tunnel Broker 有給固定 IP 和 Prefix.<br />
這樣一來就可以搞家中 IPv6 Enable 了. </p>
<p>如果有 Gentoo 做 Gateway, 想讓家中 Intranet 有 IPv6 的環境, 就需要按照這一篇設定. </p>
<p>換 IPv6 最大的好處是什麼? 用中研院的網路看 Youtube 超順的&#8230;<br />
<span id="more-1204"></span><br />
首先去 <a href="http://tb2.ipv6.ascc.net/" target="_blank" rel="noopener">http://tb2.ipv6.ascc.net/</a> 申請帳號.<br />
最好寄密碼到信箱, 要不然打錯密碼很悶的 ..</p>
<p>到 <a href="http://www.go6.net/4105/download.asp" target="_blank" rel="noopener">http://www.go6.net/4105/download.asp</a><br />
下載 Client 6.0 Platform Specific Build &#8211; Linux 和 Client 6.0 Source Code (Linux/Unix/Darwin/BSD)<br />
我是懶得 install, 所以解壓縮 Linux binary 的 gw6c 之後, 再 compile 新的, 蓋掉舊的 gw6c binary . </p>
<p>解壓縮完目錄像這樣, gw6c binary 在 bin/<br />
[TEXT]<br />
xxx gw6c # ls -lF<br />
total 16<br />
drwxr-xr-x 2 root root 4096 Apr 28 01:22 bin/<br />
drwxr-xr-x 4 root root 4096 Mar 13  2009 man/<br />
drwxr-xr-x 2 root root 4096 Apr 28 01:21 template/<br />
[/TEXT]</p>
<p>編輯 bin/gw6c.conf<br />
[TEXT]<br />
userid=< 申請帳號><br />
passwd=< 申請密碼><br />
server=tb2.ipv6.ascc.net<br />
auth_method=digest-md5<br />
host_type=router<br />
prefixlen=64<br />
if_prefix=< 網卡介面, 我是用eth1><br />
gw6_dir=< 路徑>/gw6c<br />
[/TEXT]<br />
<> 請代換成自己的參數</p>
<p>如果只是單機要連線, host_type 要設 host , if_prefix 不用設定.<br />
[TEXT]<br />
host_type=host<br />
[/TEXT]</p>
<p>Gentoo 的話記得先安裝 RADVD (host_type=host 不需要)<br />
[BASH]<br />
# emerge -av radvd<br />
[/BASH]<br />
如果是初次設定, 別忘了 ip6table 要改 MTU<br />
[BASH]<br />
# ip6tables -A FORWARD -p tcp &#8211;tcp-flags SYN,RST SYN -j TCPMSS  &#8211;clamp-mss-to-pmtu<br />
# /etc/init.d/ip6tables save<br />
# rc-update add ip6tables default<br />
[/BASH]<br />
這樣下次開機的時候就會自動設定 ip6tables </p>
<p>接下來就直接跑<br />
[BASH]<br />
# ./gw6c -f gw6c.conf<br />
# ifconfig<br />
[/BASH]<br />
如果 sit1 有起來, 表示 IPv6 設定成功,<br />
如果沒有起來, 就改 gw6c.conf加上<br />
[TEXT]<br />
log_file=3<br />
[/TEXT]<br />
重新執行一次 gw6c 看看會發生什麼事情 . Log 會記錄在 gw6c.log 內. </p>
<p>P.S Gentoo nettool 1.6 以後 ifconfig 和 route 這二個命令改位置了.<br />
如果有碰到連不上的狀況, 而且是 command 錯誤, 請修改 template/linux.sh 內這幾行<br />
[TEXT]<br />
 79 ifconfig=/bin/ifconfig<br />
 80 route=/bin/route<br />
195    ExecNoCheck $ifconfig $TSP_TUNNEL_INTERFACE add $TSP_CLIENT_ADDRESS_IPV6/$TSP_TUNNEL_PREFIXLEN<br />
196    ExecNoCheck $ifconfig $TSP_TUNNEL_INTERFACE mtu 1280<br />
[/TEXT]</p>
<p>我的 IPv6 又可以用了, 不過某些網站似乎怪怪的 :-/</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/04/28/1204/gentoo-%e9%80%a3%e4%b8%ad%e7%a0%94%e9%99%a2%e7%9a%84-ipv6-tunnel-broker/">Gentoo Gateway 連中研院的 IPv6 Tunnel Broker</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2012/04/28/1204/gentoo-%e9%80%a3%e4%b8%ad%e7%a0%94%e9%99%a2%e7%9a%84-ipv6-tunnel-broker/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo PPPoE Problem</title>
		<link>https://blog.richliu.com/2012/01/18/1178/gentoo-pppoe-problem/</link>
					<comments>https://blog.richliu.com/2012/01/18/1178/gentoo-pppoe-problem/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Wed, 18 Jan 2012 00:39:42 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[openrc]]></category>
		<category><![CDATA[pppoe]]></category>
		<category><![CDATA[relink]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[service]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1178</guid>

					<description><![CDATA[<p>Gentoo 中, pppoe interface shutdown 時會 restart 相關 Servic [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/01/18/1178/gentoo-pppoe-problem/">Gentoo PPPoE Problem</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Gentoo 中, pppoe interface shutdown 時會 restart 相關 Service 的問題.</p>
<p>這個問題是 openrc 造成的, 修改 /etc/rc.conf 加上以下二行</p>
<pre lang="text">
rc_net_ppp0_provide="!net"
rc_net_ppp1_provide="!net"
</pre>
<p>PPPoE Relink<br />
修改 /etc/conf.d/net 在 pppd_ppp0 加上</p>
<pre lang="text">
pppd_ppp0="defaultroute debug persist lcp-echo-interval 15 lcp-echo-failure 6"
</pre>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2012/01/18/1178/gentoo-pppoe-problem/">Gentoo PPPoE Problem</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2012/01/18/1178/gentoo-pppoe-problem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux Software Raid 系統轉移</title>
		<link>https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/</link>
					<comments>https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sun, 15 May 2011 19:39:48 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[Raid]]></category>
		<category><![CDATA[Software Raid]]></category>
		<category><![CDATA[資料]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1078</guid>

					<description><![CDATA[<p>現在硬碟價格愈來低, 但是穩定性也一直是為人所詬病的.所以我目前系統大概是這樣做的 1) 新買的硬碟放不重要的 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/">Linux Software Raid 系統轉移</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>現在硬碟價格愈來低, 但是穩定性也一直是為人所詬病的.<br />所以我目前系統大概是這樣做的<br /><br />1) 新買的硬碟放不重要的資料, Offline Backup 資料<br />2) Item 1) 換下來的硬碟做 Raid 1 當作資料碟<br />3) Item 2) 換下來的硬碟做暫存碟<br />4) Item 3) 換下來的硬碟做其他電腦的系統碟<br />5) Item 4) 換下來的硬碟做動物碟和大量資料傳送碟</p>



<p>以這樣的更換頻率來看, Item 1) 和 Item 2) 是最常換的.<br />像是某 s 長輩搬東西都還要注意 md5 checksum 的問題, 不過我實在是沒有這麼多力氣去處理<br />所以都只是搬過去就好了.<br /><br />如果只是 copy data, 那問題還算簡單, 但是 Linux Software Raid Copy 還是需要一些技巧.<br /><br />我的 Raid 1 Disk 大概二到三年更換一次, 每次都需要查 Software Raid 相關的指令, 很大的機會還會連回到自己的 Blog, 乾脆這次記錄下來, 以後還可以用, 也可以給大家參考</p>



<span id="more-1078"></span>



<h2 class="wp-block-heading">將兩顆新硬碟設定成 Raid 系統</h2>



<p>我 Raid 1 系統比較喜歡在 Local 系統上 Copy, 這樣一來可以少掉 network 的 overhead, 也可以確定完整保留檔案的屬性, 是比較好的做法.<br /><br />在 Copy 之前, 先簡單說一下步驟<br />1) 將舊的 Raid Disk 卸下來, 換上新的二顆硬碟上去<br />2) 拿舊的其中一顆裝上去.<br />3) 使用 Linux LiveCD 開機<br />4) 將新硬碟(一顆)設上 Raid<br />5) 將舊硬碟也設上 Raid<br />6) Copy 系統碟資料<br />7) 使用新 Raid 重新開機<br />8) Copy 資料碟資料<br />9) 卸下舊 Raid 硬碟<br />10) 將第二顆硬碟加入到 Raid Disk<br /><br />其中硬體安裝步驟就省略了, 除非我有事業線美女還有大砲級的器材, 不過這二樣我都沒有.</p>



<h3 class="wp-block-heading"> Linux LiveCD 的選擇 </h3>



<p>這次是使用 Ubuntu 11.04 x86, 新的 Unity 介面看起來不錯, 但是我找不到 Terminal, 要用 Search 的才行, 不過這並不影響使用.<br />啟動之後主要是要連上網路. 這個就依照個人環境不同修改了.<br />這是 Static IP 的範例 </p>



<pre class="wp-block-code"><code># ifconfig eth0 211.21.1.1
# route add default gw 211.21.1.254
# echo "nameserver 168.95.1.1" &gt; /etc/resolv.conf
# ping www.hinet.net</code></pre>



<h3 class="wp-block-heading"> 安裝 mdadm </h3>



<p>

因為接下來幾乎都是要在 root 下做, 懶得每次 sudo 的話<br />就直接切到 root 吧.

</p>



<pre class="wp-block-code"><code># sudo su -
# apt-get install mdadm</code></pre>



<p>

設定新硬碟的分割表, 這邊不多說, 用 cfdisk 應該就可以很順利的將二顆硬碟切成一樣的.

</p>



<h3 class="wp-block-heading"> sfdisk copy partition </h3>



<pre class="wp-block-code"><code># sfdisk -d /dev/sda &gt; sda.layout
# sfdisk /dev/sdb &lt; sda.layout</code></pre>



<p>sfdisk 已經可以支援 gpt 了（2021年)<br />或是 sgdisk </p>



<pre class="wp-block-code"><code>$ sgdisk --backup=table /dev/sda 
$ sgdisk --load-backup=table /dev/sdb 
$ sgdisk -G /dev/sdb</code></pre>



<p>

新硬碟是二顆 2T 的硬碟, 新的規劃是三個 partition , /var /tmp 呢&#8230;. 呃~ 我懶嘛, / 切大一點就好了.<br />/dev/md1 (First Partition) : System Disk : 50G<br />/dev/md2 (Second Partition) : Data Disk : 1945G<br />/dev/md3 (Third Primary Partition) : Swap Disk : 5G<br />建立 md device node<br />一般來說, 以我的狀況 4 個就夠用了, 但是我原先的硬碟 /boot 和 / 是分開的, 所以我多建一個.

</p>



<pre class="wp-block-code"><code># mknod /dev/md0 b 9 0 
# mknod /dev/md1 b 9 1 
# mknod /dev/md2 b 9 2 
# mknod /dev/md3 b 9 3 
# mknod /dev/md4 b 9 4</code></pre>



<p>

如果是 GPT

</p>



<pre class="wp-block-code"><code>Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          616447   300.0 MiB   EF00  EFI System
   2          616448       420046847   200.0 GiB   FD00  Linux RAID
   3       420046848     11700000000   5.3 TiB     FD00  Linux RAID
   4     11700000768     11721045134   10.0 GiB    FD00  Linux RAID</code></pre>



<p>1 : UEFI 用<br />2 : root 用<br />3 : /home 用<br />4 : swap 用<br />註: 用 Kubuntu 17.04 時, 己經不需要自己建 /dev/md1 的 node.</p>



<h3 class="wp-block-heading"> 將新的硬碟規劃成 Raid 1 Device </h3>



<p>

這邊要注意的是,<br />1) 新的硬碟在系統內是被抓成 /dev/sdb, 如果看倌要抄的話, 記得要改名.<br />2) &#8211;metadata=0.90 , 表示 Raid 格式用 0.90, 新的 mdadm 支援 1.0, 1.1, 1.2, 查到的資料是 grub 目前不支援 1.0 以上, lilo 看起來也不支援, mdadm 預設支援 1.2 . 有人有提到用 1.2 沒有辦法 auto-detect raid device. 所以這邊一定要停在 0.90. (我是 grub 認不到, 所以有重來過 Orz)<br />(註: 現在應該可以用 1.2, 但是 boot 還是要用 0.90)<br />3) Missing : Raid 1 要二顆硬碟, 我這邊只用了一顆硬碟, 另一顆等到 Copy 完畢再做 Sync 即可. 這樣會比較快.

</p>



<pre class="wp-block-code"><code># modprobe raid1
# mdadm --create /dev/md1 -l 1 -n 2 --metadata=0.90 /dev/sdb1 missing
# mdadm --create /dev/md2 -l 1 -n 2 /dev/sdb2 missing
# mdadm --create /dev/md3 -l 1 -n 2 /dev/sdb3 missing</code></pre>



<p>第一行要將 raid1 的 module load 進來, 不知道不執行可不可以, 我是都有執行.<br />Format Fisk , 這邊就隨你高興了, 不過系統碟建議用 ext3/ext4</p>



<pre class="wp-block-code"><code># mkfs.ext3 /dev/md1
# mkfs.xfs -f /dev/md2
# mkswap /dev/md3</code></pre>



<h3 class="wp-block-heading"> 重建舊的 Raid 硬碟 </h3>



<p>

為什麼只拿一顆硬碟就好, 那是因為舊硬碟是 Raid 1 呀, 所以重建也可以忽略掉另一顆, 這邊我每次都忘記怎麼做, 所以也是這次讓我寫這篇文章的原因.

</p>



<pre class="wp-block-code"><code># mdadm --assemble /dev/md0 /dev/sdc1 missing
# mdadm --assemble /dev/md4 /dev/sdc2 missing
# mdadm --run /dev/md0
# mdadm --run /dev/md4</code></pre>



<p>

指令很簡單, 才二行而己, 但是讓我搞很久 -_-!

</p>



<h3 class="wp-block-heading"> mount 系統碟 </h3>



<p>

這邊請依照你當時現場的狀況決定.

</p>



<pre class="wp-block-code"><code># mkdir -p /mnt/target
# mkdir -p /mnt/source
# mount /dev/md1 /mnt/target
# mount /dev/md4 /mnt/source
# mount /dev/md0 /mnt/source/boot</code></pre>



<h3 class="wp-block-heading"> 清除多餘空間 </h3>



<p>我的系統是 Gentoo, 在 Copy 之前, 可以先清除一些空間, 讓 Copy 更順暢<br />這邊的建議是<br />1) /tmp, /var/tmp : 有些舊系統不會清 /tmp, 和 /var/tmp, 在 copy 之前要清一下<br />2) 清除 Linux kernel object code<br />3) 清除 Portage, 這檔案很多又小, /usr/portage/distfiles 又很多 download file, 不必要, 清空<br />4) 清除 /usr/share/doc : 這個看個人, 我覺得可以清, 但是沒有清的項目.<br /><br />assume root is /mnt/source </p>



<pre class="wp-block-code"><code># rm -rf /tmp/*
# rm -rf /var/tmp/*
# cd /usr/src
# cd linux
# make mrproper
# cd /usr/portage
# rm -rf *
# cd /usr/share/doc
# rm -rf *</code></pre>



<h3 class="wp-block-heading"> Copy System Data </h3>



<pre class="wp-block-code"><code># rsync -av /mnt/source/ /mnt/target/</code></pre>



<p>

先別休息呀, 還有別的活要幹, 別忘了 LiveCD 是 GUI 介面, Copy 的同時我們還有很多事情要做.<br />1) 修改 /etc/fstab<br />2) 安裝 Grub<br />3) 修改 /boot/grub/menu.lst (如果有需要的話)

</p>



<pre class="wp-block-code"><code># blkid /dev/md1
/dev/md1: UUID="11111111-2be8-4156-98d9-018e20da6dc1" SEC_TYPE="ext2" TYPE="ext3"
# blkid /dev/md2
/dev/md2: UUID="22222222-af0a-41de-a67e-72652a6e8521" TYPE="xfs"
# blkid /dev/md3
/dev/md3: UUID="33333333-e972-4d8f-9879-c58576ea0d03" TYPE="swap"
# vi /etc/fstab</code></pre>



<p>

記好 UUID, 準備修改 /etc/fstab, 以下是範例.

</p>



<pre class="wp-block-code"><code>UUID=11111111-2be8-4156-98d9-018e20da6dc1 / ext3 noatime 0 0
UUID=22222222-af0a-41de-a67e-72652a6e8521 /home xfs defaults,noatime 0 0
UUID=33333333-e972-4d8f-9879-c58576ea0d03 none swap sw 0 0</code></pre>



<h3 class="wp-block-heading"> 安裝 Grub </h3>



<p>

當 Copy 的差不多的時候, 就可以準備安裝 Grub 了, 步驟是<br />1) 先 bind 系統上的 /proc /dev 到 目錄內<br />2) chroot 進去<br />3) 執行 grub

</p>



<pre class="wp-block-code"><code># cd /mnt/target
# mount --bind /proc proc
# mount --bind /dev dev
# cd ..
# chroot target
# grub
grub&gt; root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub&gt; root (hd1,1)

Filesystem type is xfs, partition type 0xfd

grub&gt; setup (hd1)</code></pre>



<p>

如果是 GPT + BIOS 仍然可以用這個指令, 用 grub 應該是有點久了

</p>



<pre class="wp-block-code"><code>$ grub-install /dev/sda 
$ grub-install /dev/sdb</code></pre>



<p>如果是搬家還要修一下 grub 的設定, 編輯 /etc/default/grub, 將 mdX 換成你要的開機 raid.<br />GRUB_CMDLINE_LINUX_DEFAULT=&#8221;root=/dev/mdX real_root=/dev/mdX rootfstype=ext4 &#8220;<br />別忘了 update 一下 grub 的設定</p>



<pre class="wp-block-code"><code>grub-mkconfig -o /boot/grub/grub.cfg</code></pre>



<p>grub 判斷 device 不一定很準確, 需要一些經驗.<br />不過大致上來說,<br />sda = hd0, sdb = hd1, sdc = hd2 是沒有錯的.<br />我也有碰過開完機之後是<br />sda = hd0, sdd = hd2, sdc = hd1<br />這樣的.<br />至於 grub.conf (menu.lst) 就跳過了Copy 完就可以重開機了, 順利的話就和原來的系統差不多.<br /><br />我自己是很順利, 沒有什麼問題.新的系統上, raid 會自己抓到, 在我的系統是在 md126, md127, 之前進系統改過的 Raid 就是 md0 和 md4.<br />直接再 mount 上去再 rsync 一下.<br /><br />以我而言, 資料碟大概都是數百 G 上下, 所以 rsync 指令一下, 我就跑去睡覺了.<br />以上的步驟大概要 2~4 Hours , 依照狀況能力的不同, 不過大概在下午六點左右開始轉換是最好的.</p>



<h3 class="wp-block-heading"> 將第二顆硬碟加入 Raid </h3>



<p>

所有資料都 Copy 完了以後, 確定不會再重開機, 因為 sync 時中斷就要重來, 所以這個步驟大概會耗掉非常久的時間, 以 2T 的硬碟來說, 會超過 14Hours. 如果中間有大量存取會更慢.<br />這邊要注意的是, 加入的硬碟和 LiveCD 重開抓到的硬碟不同, 所以要用 dmesg | grep sd 看一下, 還有用 cat /proc/mdstat 看一下目前己經加入 Raid 的是那一顆 HDD.

</p>



<pre class="wp-block-code"><code>mdadm --manage --add /dev/md1 /dev/sdc1
mdadm --manage --add /dev/md2 /dev/sdc2
mdadm --manage --add /dev/md3 /dev/sdc3</code></pre>



<p>

下完指令之後就可以看到在跑 sync 了

</p>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid0] &#91;raid1] &#91;raid6] &#91;raid5] &#91;raid4] &#91;raid10]
md2 : active raid1 sdc2&#91;2] sda2&#91;0]
1899413056 blocks &#91;2/1] &#91;U_]
resync=DELAYED

md3 : active raid1 sdc3&#91;2] sda3&#91;0]
5269248 blocks &#91;2/1] &#91;U_]
resync=DELAYED

md1 : active raid1 sdc1&#91;2] sda1&#91;0]
48829440 blocks &#91;2/1] &#91;U_]
&#91;==&gt;..................] recovery = 12.4% (6068736/48829440) finish=6.6min speed=107126K/sec

unused devices:</code></pre>



<p>大功告成&#8230; 親一個~~</p>



<p>每次這樣備份都要花一天, 有沒有簡單一點的方法呢?<br />不要說買 Raid Box 二個, 直接 Copy 過去,&nbsp; Raid Box 又貴又不一定穩定, 我之前買某一家的, 操一年就掛了, 維修的費用快可以買一台新. 所以我再也不想碰 Raid Box.</p>



<h2 class="wp-block-heading">換掉一顆硬碟</h2>



<p>2021/02/27 <br />前二天 Power 掛掉，可能連帶影響到某顆 HDD 出問題，只能再花錢換掉，這次就沒有一次換二顆硬碟，就先換一顆就好<br /><br />換的過程也不難，大致上就是<br />1) 裝新硬碟<br />2) 確定要換下的舊硬碟<br />3) 將舊硬碟從系統移除<br />4) 加上新硬碟</p>



<h3 class="wp-block-heading">檢查目前的 Raid</h3>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid1]
md125 : active raid1 sda3&#91;2] sdc3&#91;0]
      5639845504 blocks super 1.2 &#91;2/2] &#91;UU]
      bitmap: 0/43 pages &#91;0KB], 65536KB chunk

md126 : active (auto-read-only) raid1 sda4&#91;2] sdc4&#91;0]
      10513984 blocks super 1.2 &#91;2/2] &#91;UU]

md127 : active raid1 sda2&#91;1] sdc2&#91;0]
      209715136 blocks &#91;2/2] &#91;UU]
      bitmap: 2/2 pages &#91;8KB], 65536KB chunk</code></pre>



<h3 class="wp-block-heading">檢查要換下來的硬碟</h3>



<pre class="wp-block-code"><code># smartctl -A /dev/sdc
smartctl 7.2 2020-12-30 r5155 &#91;x86_64-linux-5.10.18-gentoo-x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   090   090   016    Pre-fail  Always       -       3342351
  2 Throughput_Performance  0x0005   138   138   054    Pre-fail  Offline      -       100
  3 Spin_Up_Time            0x0007   156   156   024    Pre-fail  Always       -       412 (Average 433)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       53
  5 Reallocated_Sector_Ct   0x0033   034   034   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   140   140   020    Pre-fail  Offline      -       15
  9 Power_On_Hours          0x0012   096   096   000    Old_age   Always       -       29568
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       52
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1195
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       1195
194 Temperature_Celsius     0x0002   125   125   000    Old_age   Always       -       48 (Min/Max 24/65)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   034   034   000    Old_age   Always       -       65535
198 Offline_Uncorrectable   0x0008   032   032   000    Old_age   Offline      -       15341
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0</code></pre>



<p>這邊可以看到<br />Current_Pending_Sector  Offline_Uncorrectable   這兩個值異常高，雖然 Reallocated_Event_Count 目前是 0 ，但是還是預防性換硬碟好了</p>



<h3 class="wp-block-heading">將壞掉的硬碟從 Raid 移除</h3>



<pre class="wp-block-code"><code>mdadm --manage  /dev/md125 --fail /dev/sdc3
mdadm --manage --remove /dev/md125 /dev/sdc3

mdadm --manage  /dev/md126 --fail /dev/sdc4
mdadm --manage --remove /dev/md126 /dev/sdc4

mdadm --manage  /dev/md127 --fail /dev/sdc2
mdadm --manage --remove /dev/md127 /dev/sdc2</code></pre>



<h3 class="wp-block-heading">再次檢查 mdstat 的狀態</h3>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid1]
md125 : active raid1 sda3&#91;2]
      5639845504 blocks super 1.2 &#91;2/1] &#91;_U]
      bitmap: 3/43 pages &#91;12KB], 65536KB chunk

md126 : active (auto-read-only) raid1 sda4&#91;2]
      10513984 blocks super 1.2 &#91;2/1] &#91;_U]

md127 : active raid1 sda2&#91;1]
      209715136 blocks &#91;2/1] &#91;_U]
      bitmap: 2/2 pages &#91;8KB], 65536KB chunk

unused devices: &lt;none&gt;</code></pre>



<h3 class="wp-block-heading">複製 partition 到新硬碟</h3>



<p>這一步驟前面也有，不過還是附上</p>



<pre class="wp-block-code"><code># sfdisk -d /dev/sda &gt; sda.layout
# sfdisk /dev/sdb &lt; sda.layout</code></pre>



<h2 class="wp-block-heading">檢查 Partition 是不是確定複製過去</h2>



<pre class="wp-block-code"><code># fdisk /dev/sda

Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


命令 (m 以獲得說明)：p

Disk /dev/sda: 5.46 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: HGST HDN726060AL
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C82DA0A3-9657-4807-BBEA-79FA0EB48349

所用裝置         Start        結束        磁區  Size 類型
/dev/sda1         2048      616447      614400  300M EFI System
/dev/sda2       616448   420046847   419430400  200G Linux RAID
/dev/sda3    420046848 11700000000 11279953153  5.3T Linux RAID
/dev/sda4  11700000768 11721045134    21044367   10G Linux RAID

命令 (m 以獲得說明)：q
ms1 ~ # fdisk /dev/sdb

Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


命令 (m 以獲得說明)：p
Disk /dev/sdb: 5.46 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: TOSHIBA MG06ACA6
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C82DA0A3-9657-4807-BBEA-79FA0EB48349

所用裝置         Start        結束        磁區  Size 類型
/dev/sdb1         2048      616447      614400  300M EFI System
/dev/sdb2       616448   420046847   419430400  200G Linux RAID
/dev/sdb3    420046848 11700000000 11279953153  5.3T Linux RAID
/dev/sdb4  11700000768 11721045134    21044367   10G Linux RAID

命令 (m 以獲得說明)：q</code></pre>



<h3 class="wp-block-heading">將新硬碟加入 Raid 系統</h3>



<pre class="wp-block-code"><code>mdadm --manage --add /dev/md125 /dev/sdb3
mdadm --manage --add /dev/md126 /dev/sdb4
mdadm --manage --add /dev/md127 /dev/sdb2</code></pre>



<h3 class="wp-block-heading">檢查 raid status</h3>



<pre class="wp-block-code"><code># cat /proc/mdstat
Personalities : &#91;raid1]
md125 : active raid1 sdb3&#91;3] sda3&#91;2]
      5639845504 blocks super 1.2 &#91;2/1] &#91;_U]
      &#91;&gt;....................]  recovery =  3.0% (174198208/5639845504) finish=459.3min speed=198286K/sec
      bitmap: 2/43 pages &#91;8KB], 65536KB chunk

md126 : active raid1 sdb4&#91;3] sda4&#91;2]
      10513984 blocks super 1.2 &#91;2/1] &#91;_U]
        resync=DELAYED

md127 : active raid1 sdb2&#91;2] sda2&#91;1]
      209715136 blocks &#91;2/1] &#91;_U]
        resync=DELAYED
      bitmap: 2/2 pages &#91;8KB], 65536KB chunk

unused devices: &lt;none&gt;
</code></pre>



<h3 class="wp-block-heading">後記</h3>



<p>雖然升級 Linux kernel 後 md 的位置都變了，本來從 md1x 變成 md12x，但是整個 Software Raid 1 的移轉算很順利，前後不到 10 分鐘就弄完了，主要還是確認輸入的資料正確性花比較久時間，加上換硬碟的時間大概 30 分鐘<br /><br />只是買硬碟心比較痛而已</p>



<h2 class="wp-block-heading">其他</h2>



<h3 class="wp-block-heading">遇到 inactivate md 怎麼辦</h3>



<p>這問題很簡單，啟動就好了</p>



<pre class="wp-block-preformatted">$ cat /proc/mdstat
md127 : inactive sda2[1](S)
      209715136 blocks
# mdadm --run /dev/md127

md127 : active (auto-read-only) raid1 sda2[1]
      209715136 blocks [2/1] [_U]
      bitmap: 2/2 pages [8KB], 65536KB chunk

$ mdadm --manage --add /dev/md127 /dev/sdb2
mdadm: re-added /dev/sdb2

$ cat /proc/mdstat
md127 : active raid1 sdb2[0] sda2[1]
      209715136 blocks [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

</pre>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/">Linux Software Raid 系統轉移</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2011/05/16/1078/linux-software-raid-%e7%b3%bb%e7%b5%b1%e8%bd%89%e7%a7%bb/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>amavisd 的 quarantine 目錄.</title>
		<link>https://blog.richliu.com/2011/03/14/1035/amavisd-%e7%9a%84-quarantine-%e7%9b%ae%e9%8c%84/</link>
					<comments>https://blog.richliu.com/2011/03/14/1035/amavisd-%e7%9a%84-quarantine-%e7%9b%ae%e9%8c%84/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sun, 13 Mar 2011 17:16:06 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[amavis]]></category>
		<category><![CDATA[quarantine]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=1035</guid>

					<description><![CDATA[<p>今天發現系統無法收信, 本來以為是鳥鳥的 dovecot 又鳥掉了, 沒有想到最後檢查的結果是系統的 HDD  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/03/14/1035/amavisd-%e7%9a%84-quarantine-%e7%9b%ae%e9%8c%84/">amavisd 的 quarantine 目錄.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>今天發現系統無法收信, 本來以為是鳥鳥的 dovecot 又鳥掉了, 沒有想到最後檢查的結果是系統的 HDD 爆了.<br />
怎麼爆的呢?<br />
直覺就是先查 /usr/portage/distfiles, 砍完了才多 50MB, 想必不是 package download 太多.</p>
<p>接下來就直接在 /var 下<br />
[BASH]<br />
$ du &#8211;maxdepth=1 -h<br />
[/BASH]</p>
<p>果然查到 amavis 佔了所有其他的空間呀~~ ~~</p>
<p>其中有二個目錄 tmp 和 quarantine, 這二個似乎會存很多檔案下來.</p>
<p>目前似乎沒有什麼好的解決方案,<br />
是有看到有一篇文章(<a href="http://kolab.org/pipermail/kolab-users/2009-May/009978.html" target="_blank" rel="noopener">Amavis quarantine cleanup</a>)是用 crontab 硬幹, 不知道有沒有更好的解法? (寫在 /etc/cron.weekly/ ?)</p>
<p>[BASH]<br />
#### delete qurantained Virus-eMails older than 30 days ####<br />
10 2 * * * find /var/amavis/tmp/ -mtime +31 -exec rm -r {} \;<br />
15 2 * * * find /var/amavis/quarantine/ -mtime +31 -exec rm {} \;<br />
[/BASH]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2011/03/14/1035/amavisd-%e7%9a%84-quarantine-%e7%9b%ae%e9%8c%84/">amavisd 的 quarantine 目錄.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2011/03/14/1035/amavisd-%e7%9a%84-quarantine-%e7%9b%ae%e9%8c%84/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo 安裝 vmware-server 無法啟動</title>
		<link>https://blog.richliu.com/2010/07/21/965/gentoo-%e5%ae%89%e8%a3%9d-vmware-server-%e7%84%a1%e6%b3%95%e5%95%9f%e5%8b%95/</link>
					<comments>https://blog.richliu.com/2010/07/21/965/gentoo-%e5%ae%89%e8%a3%9d-vmware-server-%e7%84%a1%e6%b3%95%e5%95%9f%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Tue, 20 Jul 2010 17:26:05 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[vmware]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=965</guid>

					<description><![CDATA[<p>Gentoo 安裝 vmware server 算是很簡單的 不過還是會有碰到一些奇怪的問題 [BASH] # [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2010/07/21/965/gentoo-%e5%ae%89%e8%a3%9d-vmware-server-%e7%84%a1%e6%b3%95%e5%95%9f%e5%8b%95/">Gentoo 安裝 vmware-server 無法啟動</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Gentoo 安裝 vmware server 算是很簡單的</p>
<p>不過還是會有碰到一些奇怪的問題</p>
<p>[BASH]<br />
# emerge vmware-server &#8211;config</p>
<p>Configuring pkg&#8230;</p>
<p>* Running /opt/vmware/server/bin/vmware-config.pl<br />
Making sure services for VMware Server are stopped.</p>
<p>* WARNING: vmware is already stopped<br />
Unable to stop services for VMware Server</p>
<p>Execution aborted.</p>
<p>[/BASH]</p>
<p>這時候只要刪掉 /etc/vmware/not_configured 後再重新啟動 /etc/init.d/vmware 就可以了</p>
<p>[BASH]<br />
# rm -f /etc/vmware/not_configured<br />
# /etc/init.d/vmware<br />
# /opt/vmware/server/bin/vmware-config.pl<br />
[/BASH]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2010/07/21/965/gentoo-%e5%ae%89%e8%a3%9d-vmware-server-%e7%84%a1%e6%b3%95%e5%95%9f%e5%8b%95/">Gentoo 安裝 vmware-server 無法啟動</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2010/07/21/965/gentoo-%e5%ae%89%e8%a3%9d-vmware-server-%e7%84%a1%e6%b3%95%e5%95%9f%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gentoo PHP4 Support</title>
		<link>https://blog.richliu.com/2009/12/06/816/gentoo-php4-support/</link>
					<comments>https://blog.richliu.com/2009/12/06/816/gentoo-php4-support/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Sun, 06 Dec 2009 02:28:56 +0000</pubDate>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[php4]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=816</guid>

					<description><![CDATA[<p>Gentoo 下的 PHP4 Support 要改用其他的 source tree, 目前 php4 早就從  [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2009/12/06/816/gentoo-php4-support/">Gentoo PHP4 Support</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Gentoo 下的 PHP4 Support 要改用其他的 source tree, 目前 php4 早就從 portage 移除了</p>
<p>不過如果是安裝 php4.4.9 會碰到一些問題, 在 patch &#8220;php4-iodbc-config.patch&#8221; 時會失敗</p>
<p>這時就需要移除 Patch 壓縮檔內的 php4-iodbc-config.patch&#8221;</p>
<p><span id="more-816"></span></p>
<p>Step1 : 加入 php-4 的 Tree</p>
<blockquote><p># layman -a php-4</p></blockquote>
<p>Step2: 設定要修改的檔案</p>
<blockquote>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"># EB="/usr/local/portage/layman/php-4/dev-lang/php/php-4.4.9.ebuild"</pre>
</blockquote>
<p>Step3: 抓下要用的檔案</p>
<blockquote>
<pre># ebuild ${EB} setup</pre>
</blockquote>
<p>Step4: 移除 php4-iodbc-config.patch, 並且 copy 回去</p>
<blockquote>
<pre># tar -xvjf /usr/portage/distfiles/php-patchset-4.4.9-r0.tar.bz2
# rm 4.4.9/php4/php4-iodbc-config.patch
# tar -cvjf /usr/portage/distfiles/php-patchset-4.4.9-r0.tar.bz2 4.4.9/*
# cp /usr/portage/distfiles/php-patchset-4.4.9-r0.tar.bz2 /usr/local/portage/layman/php-4/dev-lang/php/files/</pre>
</blockquote>
<p>Step6: 重新產生 digest 檔</p>
<blockquote>
<pre># FEATURES+="assume-digest" ebuild --force ${EB} digest</pre>
</blockquote>
<p>Step7: 再 merge 一次.</p>
<blockquote>
<pre># ebuild ${EB} merge</pre>
</blockquote>
<p>老機器不死, 只是需要維護&#8230;..</p>
<p>Ref.</p>
<p><strong><a href="http://www.gentooforum.de/index.php?page=Thread&amp;postID=118554&amp;s=1ef392cff4b7af0d68c373e313e2c54321de54f6#post118554" target="_blank" rel="noopener">gentoo 2008.0 und php-4 (emerge failed)</a>[德文網站]</strong></p>
<pre></pre>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2009/12/06/816/gentoo-php4-support/">Gentoo PHP4 Support</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2009/12/06/816/gentoo-php4-support/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
