作業系統為 Ubuntu 16.04,Firefox 瀏覽器有個非常好用的延伸套件
[send to MPV player] :https://addons.mozilla.org/zh-TW/firefox/addon/send-to-mpv-player/。
安裝延伸套件完後,開啟 Youtube 網站,在想要觀看的影片中按滑鼠右鍵,選取選單中的 [send to MPV player],第一次會導引到一個網頁上,需要下載安裝檔,下載 linux.zip 解壓縮後,指令模式切換到解壓縮後的目錄下,直接執行:
./install.sh
安裝完成後一樣開啟 Youtube 網站,在想要觀看的影片中按滑鼠右鍵,選取選單中的 [send to MPV player],影片就會用 MPV player 播放 (所以須先安裝 MPV player,安裝MPV player 可參考 https://goo.gl/1KrAdE) ,使用上非常方便。
第二個好處是, MPV player 支援GPU硬解,播放影片時,可減少CPU的耗用。
2019年1月25日 星期五
2016年4月23日 星期六
[Linux] Centos主機硬碟燈狂閃,mlocate.db檔案超大
來源 : http://www.oschina.net/question/54100_151464
來源 : http://linux.vbird.org/linux_basic/0220filemanager.php#locate
最近早上進公司,發現有台 Centos 主機硬碟燈狂閃,硬碟IO讀寫頻繁,連入主機使用 top 查看是 updatedb 這個程式造成的。上網查了一下,updatedb 每天會定期產生 /var/lib/mlocate/mlocate.db 這個資料庫索引檔,提供給 locate 這個指令查詢時使用。
查了一下主機的 /var/lib/mlocate/mlocate.db 這個檔案,竟然有 6.7G 這麼大。原因是因為,這台主機有顆備份的硬碟 /backup,使用 rsync (差異備份+硬連結) ,每天晚上完整備份公司的程式,目前已經將近有570天的資料量。updatedb 會將根目錄 "/" 底下所有的檔案,建立資料庫索引,難怪檔案會這麼大。
那可不可排除 /backup 這個目錄,不要建立資料庫索引。updatedb 有一個設定檔 /etc/updatedb.conf,內容如下:
PRUNE_BIND_MOUNTS="yes": 是否進行限制搜索
PRUNEFS: 排除檢索的文件系統類型, 即列出的文件系統類型不進行檢索
PRUNENAMES: 表示對哪些後綴的文件排除檢索
PRUNEPATHS: 排除檢索的路徑, 即列出的路徑下的文件和子文件夾均跳過不進行檢索
所以只要在 PRUNEPATHS 後面加入 /backup 即可。
重新執行 updatedb ,等一會後,查看 /var/lib/mlocate/mlocate.db ,檔案只剩下25M。
來源 : http://linux.vbird.org/linux_basic/0220filemanager.php#locate
最近早上進公司,發現有台 Centos 主機硬碟燈狂閃,硬碟IO讀寫頻繁,連入主機使用 top 查看是 updatedb 這個程式造成的。上網查了一下,updatedb 每天會定期產生 /var/lib/mlocate/mlocate.db 這個資料庫索引檔,提供給 locate 這個指令查詢時使用。
查了一下主機的 /var/lib/mlocate/mlocate.db 這個檔案,竟然有 6.7G 這麼大。原因是因為,這台主機有顆備份的硬碟 /backup,使用 rsync (差異備份+硬連結) ,每天晚上完整備份公司的程式,目前已經將近有570天的資料量。updatedb 會將根目錄 "/" 底下所有的檔案,建立資料庫索引,難怪檔案會這麼大。
那可不可排除 /backup 這個目錄,不要建立資料庫索引。updatedb 有一個設定檔 /etc/updatedb.conf,內容如下:
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
PRUNE_BIND_MOUNTS="yes": 是否進行限制搜索
PRUNEFS: 排除檢索的文件系統類型, 即列出的文件系統類型不進行檢索
PRUNENAMES: 表示對哪些後綴的文件排除檢索
PRUNEPATHS: 排除檢索的路徑, 即列出的路徑下的文件和子文件夾均跳過不進行檢索
所以只要在 PRUNEPATHS 後面加入 /backup 即可。
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp /backup"
重新執行 updatedb ,等一會後,查看 /var/lib/mlocate/mlocate.db ,檔案只剩下25M。
2016年2月20日 星期六
[Ubuntu] 使用 peerflix 串流觀看 BT(torrent) 種子的影片
來源: http://www.webupd8.org/2014/03/peerflix-stream-torrents-with-vlc-or.html
網路上有很多影片,其來源是 BT(BitTorrent),若要觀看必須先使用BT相關軟體(如qBittorrent),先將影片完整下載到電腦上才能觀看。
peerflix 是用 node.js 開發的程式,可以將 BT 下載的影片,在本機電腦上建立一個串流網路服務,播放程式再使用串流方式觀看影片。簡單的說就是,影片可以一邊下載一邊觀看。
首先必須先安裝node.js,再使用 npm (Node Package Manager 是Node.js 的主流套件管理程式) 安裝 peerflix。
假設已經安裝好 node.js 與 npm,安裝只要執行:
npm install -g peerflix
1.使用 手機 or mpv 看影片:
peerflix /tmp/movie.torrent
手機 看影片:
用手機瀏覽器開啟串流網址 http://192.168.0.13:8888/ ,再選擇要使用那個影片播放app開啟,(以我的Android 手機為例,我通常使用mxplayer來播放),即可觀看影片。
mpv+字幕檔 看影片:
mpv http://127.0.0.1:8888 --sub-files=/tmp/movie.ass
2.使用 mplayer 看影片:
peerflix http://some-torrent/movie.torrent -m or peerflix /tmp/movie.torrent -m
使用 mplayer + 字幕檔 看影片 :
peerflix http://some-torrent/movie.torrent -m -t /tmp/movie.ass or peerflix /tmp/movie.torrent -m -t /tmp/movie.ass
3.使用 mpv 看影片:
peerflix http://some-torrent/movie.torrent -k
or
peerflix /tmp/movie.torrent -k
使用 mplayer + 字幕檔 看影片 :
peerflix http://some-torrent/movie.torrent -k -t /tmp/movie.ass
or
peerflix /tmp/movie.torrent -k -t /tmp/movie.ass
PS:
觀看影片的方式,建議使用上述的第1種方式,比較彈性。詳細參數使用請輸入:
peerflix --help
2015年11月27日 星期五
[Ubuntu] 使用 youtube-dl 指令下載 youtube 上的音樂/影片
來源: http://blogger.gtwang.org/2014/02/youtube-dl.html
youtube-dl 是一個以 Python 所寫成的小工具,適用於各種作業系統,常見的 Windows、Linux 與 Mac OS X 等都可以使用,其原始程式碼亦可從 GitHub 上下載。
1.安裝:
在 Ubuntu Linux 中,可以使用 apt 來安裝 youtube-dl:
sudo apt-get install youtube-dl
雖然使用 apt 安裝很方便,但是由於 YouTube 這類的影音網站更新的速度很快,如果安裝的 youtube-dl 版本不是最新的,就有可能無法使用,這種狀況在使用官方的套件庫時會比較容易出現,如果要避免這樣的困擾,可使用 pip 來安裝:
sudo apt-get install python python-pip
sudo pip install --upgrade youtube-dl
2.下載單一影片:
複製單一影片網址,例如: https://www.youtube.com/watch?v=O84CCjrcmR8
單一影片下載儲存為 mp4
youtube-dl https://www.youtube.com/watch?v=O84CCjrcmR8
單一影片下載儲存為 mp3
youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=O84CCjrcmR8
3.下載播放清單內所有的影片:
複製播放清單網址,例如: https://www.youtube.com/watch?v=O84CCjrcmR8&list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
將播放清單網址改成: https://www.youtube.com/playlist?list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
播放清單下載儲存為 mp4
youtube-dl -cit https://www.youtube.com/playlist?list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
播放清單下載儲存為 mp3
youtube-dl -cit --extract-audio --audio-format mp3 https://www.youtube.com/playlist?list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
4.直接使用 mplayer 看 youtube 的影片:
將 youtube-dl 下載的資料流,利用管線導入 mplayer,不需下載就可以直接播放。
youtube-dl 是一個以 Python 所寫成的小工具,適用於各種作業系統,常見的 Windows、Linux 與 Mac OS X 等都可以使用,其原始程式碼亦可從 GitHub 上下載。
1.安裝:
在 Ubuntu Linux 中,可以使用 apt 來安裝 youtube-dl:
sudo apt-get install youtube-dl
雖然使用 apt 安裝很方便,但是由於 YouTube 這類的影音網站更新的速度很快,如果安裝的 youtube-dl 版本不是最新的,就有可能無法使用,這種狀況在使用官方的套件庫時會比較容易出現,如果要避免這樣的困擾,可使用 pip 來安裝:
sudo apt-get install python python-pip
sudo pip install --upgrade youtube-dl
2.下載單一影片:
複製單一影片網址,例如: https://www.youtube.com/watch?v=O84CCjrcmR8
單一影片下載儲存為 mp4
youtube-dl https://www.youtube.com/watch?v=O84CCjrcmR8
單一影片下載儲存為 mp3
youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=O84CCjrcmR8
3.下載播放清單內所有的影片:
複製播放清單網址,例如: https://www.youtube.com/watch?v=O84CCjrcmR8&list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
將播放清單網址改成: https://www.youtube.com/playlist?list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
播放清單下載儲存為 mp4
youtube-dl -cit https://www.youtube.com/playlist?list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
播放清單下載儲存為 mp3
youtube-dl -cit --extract-audio --audio-format mp3 https://www.youtube.com/playlist?list=PLf4gvJzKEA1IB_qHaFz4uaIy2Yq6jqFKy
4.直接使用 mplayer 看 youtube 的影片:
將 youtube-dl 下載的資料流,利用管線導入 mplayer,不需下載就可以直接播放。
echo "youm() {youtube-dl -q -o- \$1 | mplayer -cache 8192 -}" >> ~/.bashrc
source ~/.bashrc
youm https://www.youtube.com/watch?v=O84CCjrcmR82015年11月20日 星期五
[Ubuntu] 使用 mplayer 觀看幼兒園的rtsp網路串流視訊
孩子就讀的幼兒園提供網路視訊,使用時輸入網址便可觀看,瀏覽器的畫面如下

但是這樣有點不方便,因為必須開著瀏覽器,什事都不用做了,想說是否可用 mplayer 來觀看,試了一下還真的可以耶。
步驟如下:
1.首先要找到網路影片的網址,在瀏覽器(Firefox)的視訊影片上按滑鼠右鍵,選 [複製],可將網址複製起來,網址如下 rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5 ,串流格式是rtsp。
2.輸入指令:
mplayer rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5
3.結果是無法看,沒關係先查一下說明(man一下,"男人"一下):
man mplayer | grep -i rtsp

4.再試一次
mplayer -rtsp-stream-over-tcp rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5
Yes,可以看了,mplayer 果然厲害,真是讚呀!
5.最後將指令寫成別名babym,寫入~/.bashrc,讓開機登入時可以生效。
echo "alias babym='mplayer -xy 350 -ontop -noborder -geometry 100%:63% -rtsp-stream-over-tcp'" >> ~/.bashrc
參數說明:
-xy: 視窗大小
-ontop: 永遠在頂層,不會被其他視窗覆蓋
-noborder: 不顯示視窗外框
-geometry: 視窗的位置
以後使用時先用瀏覽器在網頁上複製串流網址,再輸入指令 babym {rtsp的網址} 即可觀看。
但是這樣有點不方便,因為必須開著瀏覽器,什事都不用做了,想說是否可用 mplayer 來觀看,試了一下還真的可以耶。
步驟如下:
1.首先要找到網路影片的網址,在瀏覽器(Firefox)的視訊影片上按滑鼠右鍵,選 [複製],可將網址複製起來,網址如下 rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5 ,串流格式是rtsp。
2.輸入指令:
mplayer rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5
3.結果是無法看,沒關係先查一下說明(man一下,"男人"一下):
man mplayer | grep -i rtsp
4.再試一次
mplayer -rtsp-stream-over-tcp rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5
Yes,可以看了,mplayer 果然厲害,真是讚呀!
5.最後將指令寫成別名babym,寫入~/.bashrc,讓開機登入時可以生效。
echo "alias babym='mplayer -xy 350 -ontop -noborder -geometry 100%:63% -rtsp-stream-over-tcp'" >> ~/.bashrc
參數說明:
-xy: 視窗大小
-ontop: 永遠在頂層,不會被其他視窗覆蓋
-noborder: 不顯示視窗外框
-geometry: 視窗的位置
以後使用時先用瀏覽器在網頁上複製串流網址,再輸入指令 babym {rtsp的網址} 即可觀看。
2015年11月14日 星期六
[Ubuntu] 硬碟格式化
新的USB外接硬碟2TB,此顆硬碟目的是拿來做備份硬碟使用,內建的檔案格式為fat32,雖然各種不同作業統都可支援此格式,但缺點是單一檔案限制4GB。家中的電腦目前使用的作業系統是 Windows7 與 Ubuntu12.04,為了相容這兩種系統,這顆外接硬碟可以格式化成 ntfs 或 ext4。(也可以格式化成 exfat,但此格式是設計給快閃儲存裝置使用,並非傳統硬碟,所以不考慮此格式)。
假設這顆硬碟代號為 /dev/sdd1
格式化為 ntfs:
sudo mkfs.ntfs -f -L SP2TB /dev/sdd1
-f: 快速格式化,(新硬碟建議可使用,格式化速度很快,不然等很久)
-L: 硬碟標籤名稱
格式化為 ext4:
sudo mkfs.ext4 -L SP2TB -m 1 /dev/sdd1
-L: 硬碟標籤名稱
-m: 設定保留1%的空間,(Ext2/Ext3/Ext4 預設保留 5% 硬碟空間供系統管理員工作之用,格式化後仍可以使用命令 tune2fs -m 或 tune2fs -r 改變)。
PS:由於為了相容Windows,選擇使用ntfs格式,若使用ext4的話,拿到Windows上必須倚靠第三方軟體 Ext2Fsd,才可讀寫。
假設這顆硬碟代號為 /dev/sdd1
格式化為 ntfs:
sudo mkfs.ntfs -f -L SP2TB /dev/sdd1
-f: 快速格式化,(新硬碟建議可使用,格式化速度很快,不然等很久)
-L: 硬碟標籤名稱
格式化為 ext4:
sudo mkfs.ext4 -L SP2TB -m 1 /dev/sdd1
-L: 硬碟標籤名稱
-m: 設定保留1%的空間,(Ext2/Ext3/Ext4 預設保留 5% 硬碟空間供系統管理員工作之用,格式化後仍可以使用命令 tune2fs -m 或 tune2fs -r 改變)。
PS:由於為了相容Windows,選擇使用ntfs格式,若使用ext4的話,拿到Windows上必須倚靠第三方軟體 Ext2Fsd,才可讀寫。
2015年8月7日 星期五
[Ubuntu] 輕巧的截圖軟體scrot
參考: http://blogger.gtwang.org/2014/12/raspberry-pi-screenshot-tools.html
Ubuntu 的截圖軟體,比較常聽到的就是 Shutter,功能齊全,可以即時編修圖片。
而 Scrot 是一個小巧的畫面擷取工具,不會佔用系統太多的資源,又可以快速擷取畫面。
安裝:
使用:
上面的指令表示,將選取區域 or 視窗截圖,並存到/tmp/目錄底下,並指定檔名為{日期_時間}.png
搭配快速鍵:
將上面的使用指令,設定快速鍵為 [Windows]+[Print Screen]。
Ubuntu 的截圖軟體,比較常聽到的就是 Shutter,功能齊全,可以即時編修圖片。
而 Scrot 是一個小巧的畫面擷取工具,不會佔用系統太多的資源,又可以快速擷取畫面。
安裝:
sudo apt-get install scrot
使用:
scrot '/tmp/%Y-%m-%d_%H%M%S.png' -s
上面的指令表示,將選取區域 or 視窗截圖,並存到/tmp/目錄底下,並指定檔名為{日期_時間}.png
搭配快速鍵:
將上面的使用指令,設定快速鍵為 [Windows]+[Print Screen]。
[Ubuntu] 將縮時照片製作成影片
Ubuntu or Linux 利用 mencoder 指令,將多張照片製作成一個影音檔。
1.安裝指令:
2.假設縮時照片的目錄在/tmp/myphoto 底下,先切換目錄:
3.製作含有背景音樂的影片:
4.製作無聲音的影片:
5.參數說明:
fps=3 (每秒3張照片幀數)
-audiofile /z/k.mp3 (背景音樂的檔案路徑)
公司窗景,用手機每20秒拍攝一張,製作成縮時影片:
1.安裝指令:
sudo apt-get install mencoder
2.假設縮時照片的目錄在/tmp/myphoto 底下,先切換目錄:
cd /tmp/myphoto
3.製作含有背景音樂的影片:
mencoder mf://*.jpg -mf fps=3:type=jpg -ovc x264 -lavcopts vcodec=mpeg4:mbd=2:trell -vf scale=1920:1440 -audiofile /z/k.mp3 -oac mp3lame -o /tmp/_t.avi
4.製作無聲音的影片:
mencoder mf://*.jpg -mf fps=3:type=jpg -ovc x264 -lavcopts vcodec=mpeg4:mbd=2:trell -vf scale=1920:1440 -o /tmp/_t.avi
5.參數說明:
fps=3 (每秒3張照片幀數)
-audiofile /z/k.mp3 (背景音樂的檔案路徑)
公司窗景,用手機每20秒拍攝一張,製作成縮時影片:
2015年7月18日 星期六
[Firefox] Flash 預設封鎖
最近使用 Firefox 看 Youtube 影片總是碰到奇怪的畫面

原來是 Flash 被 Firefox 預設封鎖了。可參考此篇 http://chinese.engadget.com/2015/07/14/facebook-security-lead-wants-flash-dead/
解決方式:
1. [允許] Firefox 使用 Flash
2. Youtube 啟用HTML5 影片播放器,開啟網址 https://www.youtube.com/html5 ,將目前預設的播放器 [要求使用 HTML5 播放器] 啟用它即可。
原來是 Flash 被 Firefox 預設封鎖了。可參考此篇 http://chinese.engadget.com/2015/07/14/facebook-security-lead-wants-flash-dead/
解決方式:
1. [允許] Firefox 使用 Flash
2. Youtube 啟用HTML5 影片播放器,開啟網址 https://www.youtube.com/html5 ,將目前預設的播放器 [要求使用 HTML5 播放器] 啟用它即可。
2015年5月19日 星期二
[Linux] passwd 與 smbpasswd 同步
參考: http://jackwangnote.blogspot.tw/2013/09/linux-smbpasswd-and-passwd.html
環境: Centos 6.6-x64
需求: 在使用者利用 passwd 更改使用者密碼時,SAMBA 密碼同步更變;而在使用者利用 smbpasswd 更改SAMBA 密碼時,使用者密碼也可同步更變。
動作:
設定在使用者利用 passwd 更改使用者密碼時,SAMBA 密碼同步更變
step 1 編輯 /etc/pam.d/passwd
vim /etc/pam.d/passwd
step 2 增加設定到 /etc/pam.d/passwd
設定在使用者利用smbpasswd更改 SAMBA 密碼時,使用者密碼同步更變
step 1 編輯 /etc/samba/smb.conf
vim /etc/samba/smb.conf
step 2 增加設定到 /etc/samba/smb.conf 的 [global] 標籤之後
step 3 設定完成之後重新啟動 SA
service smb restart
環境: Centos 6.6-x64
需求: 在使用者利用 passwd 更改使用者密碼時,SAMBA 密碼同步更變;而在使用者利用 smbpasswd 更改SAMBA 密碼時,使用者密碼也可同步更變。
動作:
設定在使用者利用 passwd 更改使用者密碼時,SAMBA 密碼同步更變
step 1 編輯 /etc/pam.d/passwd
vim /etc/pam.d/passwd
step 2 增加設定到 /etc/pam.d/passwd
# Sync. passwd to smbpasswd
auth requisite pam_nologin.so
auth required pam_unix.so
account required pam_unix.so
password requisite pam_cracklib.so retry=3
password requisite pam_unix.so shadow md5 use_authtok try_first_pass
password required pam_smbpass.so nullok use_authtok try_first_pass
session required pam_unix.so
設定在使用者利用smbpasswd更改 SAMBA 密碼時,使用者密碼同步更變
step 1 編輯 /etc/samba/smb.conf
vim /etc/samba/smb.conf
step 2 增加設定到 /etc/samba/smb.conf 的 [global] 標籤之後
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
step 3 設定完成之後重新啟動 SA
service smb restart
[VirtualBox] clone複製vdi檔案網路卡無法使用
一個客端Centos 6.6-x64系統,利用clone複製vdi檔案,啟動新的客端後,網路卡失效。
解決方法:
方法一:刪除 /etc/udev/rules.d/70-persistent-net.rules 後重啟機器,簡單方便。
方法二:
1. 必須確認克隆(clone)的CentOS 6的各個網卡的MAC是否有重複或與其它虛擬主機重複,最好利用其網卡工具刷新一下,生成新的MAC。
使用vi命令,打開/etc/sysconfig/network-scripts/下的ifcfg-eth*(*代表0~n個網卡序號),把這個新的MAC修改進去。
2. 修改 70-persistent-net.rules 文件,刪除原來的eth0那一段,把後增加的eth1改為eth0。如果有多塊網卡以此類推;如果只有一行,則把「eth1」改為eth0即可。
3. 使用 start_udev 命令重新檢測硬件;
4. 用 service network restart 命令重啟下網絡。
故障原因
70-persistent-net.rules這個文件確定了網卡與MAC地址的綁定,克隆了一個新主機之後,系統發現MAC地址發生了變化,就認為是新增了一塊網卡,所以就把它標記為eth1追加進70-persistent-net.rules這個文件,但與母機MAC地址綁定的eth0實際上已經不存在了,所以出現標題所示的錯誤
參考: http://www.7edown.com/edu/article/soft_4871_1.html
解決方法:
方法一:刪除 /etc/udev/rules.d/70-persistent-net.rules 後重啟機器,簡單方便。
方法二:
1. 必須確認克隆(clone)的CentOS 6的各個網卡的MAC是否有重複或與其它虛擬主機重複,最好利用其網卡工具刷新一下,生成新的MAC。
使用vi命令,打開/etc/sysconfig/network-scripts/下的ifcfg-eth*(*代表0~n個網卡序號),把這個新的MAC修改進去。
2. 修改 70-persistent-net.rules 文件,刪除原來的eth0那一段,把後增加的eth1改為eth0。如果有多塊網卡以此類推;如果只有一行,則把「eth1」改為eth0即可。
3. 使用 start_udev 命令重新檢測硬件;
4. 用 service network restart 命令重啟下網絡。
故障原因
70-persistent-net.rules這個文件確定了網卡與MAC地址的綁定,克隆了一個新主機之後,系統發現MAC地址發生了變化,就認為是新增了一塊網卡,所以就把它標記為eth1追加進70-persistent-net.rules這個文件,但與母機MAC地址綁定的eth0實際上已經不存在了,所以出現標題所示的錯誤
參考: http://www.7edown.com/edu/article/soft_4871_1.html
2014年12月4日 星期四
[Ubuntu] mplayer無法收聽網路電台mms://bcr.media.hinet.net/
最近 Ubuntu 電腦上無法收聽台灣的網路電台(公司的一台網路廣播收音機也無法收聽),例如聽中廣流行音樂網 I RADIO,原本使用 mplayer 下個指令就可以收聽了:
查了一下,好像是 Hinet 的 hichannel mms串流播放 mms://bcr.media.hinet.net/ ,不知道是有問題,還是停用(聽說是改用 M3U8)。
因為無法使用 mplayer 指令播放,所以暫時只好改用網頁播放,網址: http://hichannel.hinet.net/radio.html,我個人比較喜歡手持裝置簡單清爽的網頁畫面,例如聽中廣流行音樂網 I RADIO: http://hichannel.hinet.net/radio/mobile/index.do?id=206
底下是電腦上用Chrome瀏覽器收聽的畫面:

台灣網路電台的來源大都是由此 bcr.media.hinet.net 串流播放的,參考來源: http://briian.com/12526/hinet-radio-mms.html
HiNet 網路廣播電台清單:
自製的Android App:
70 Hichannel 將 http://hichannel.hinet.net/radio/index.do?id=206 此網址包成一個App(預設電台:中廣流行音樂網 I Radio)
70 Hichannel https://www.dropbox.com/s/ajqugp68ncdpy5q/Hichannel-debug.apk?dl=0
QRcode下載:

其他的Android App:
best taiwan radio https://play.google.com/store/apps/details?id=com.sqgy.taiwanradio
mplayer mms://bcr.media.hinet.net/RA000007
查了一下,好像是 Hinet 的 hichannel mms串流播放 mms://bcr.media.hinet.net/ ,不知道是有問題,還是停用(聽說是改用 M3U8)。
因為無法使用 mplayer 指令播放,所以暫時只好改用網頁播放,網址: http://hichannel.hinet.net/radio.html,我個人比較喜歡手持裝置簡單清爽的網頁畫面,例如聽中廣流行音樂網 I RADIO: http://hichannel.hinet.net/radio/mobile/index.do?id=206
底下是電腦上用Chrome瀏覽器收聽的畫面:
台灣網路電台的來源大都是由此 bcr.media.hinet.net 串流播放的,參考來源: http://briian.com/12526/hinet-radio-mms.html
HiNet 網路廣播電台清單:
Apple LINE 蘋果線上:mms://bcr.media.hinet.net/RA000001
Kiss Radio 大眾廣播電台:mms://bcr.media.hinet.net/RA000040
Kiss Radio 網路音樂台: mms://bcr.media.hinet.net/RA000042
奇美古典音樂網:mms://bcr.media.hinet.net/RA000014
E-Classical 台北愛樂:mms://bcr.media.hinet.net/RA000018
ICRT 台北國際社區廣播電台:mms://bcr.media.hinet.net/RA000038
飛碟電台: mms://bcr.media.hinet.net/RA000072
NEWS98 新聞網:mms://bcr.media.hinet.net/RA000073
BestRadio 台中好事 903:mms://bcr.media.hinet.net/RA000010
BestRadio 花蓮好事 935:mms://bcr.media.hinet.net/RA000011
BestRadio 高雄港都 983:mms://bcr.media.hinet.net/RA000012
BestRadio 台北好事 989:mms://bcr.media.hinet.net/RA000013
HitFM 聯播網 北部: mms://bcr.media.hinet.net/RA000036
HitFM 聯播網 中部:mms://bcr.media.hinet.net/RA000035
HitFM 聯播網 南部:mms://bcr.media.hinet.net/RA000034
HitFM 聯播網 宜蘭:mms://bcr.media.hinet.net/RA000065
GOLD FM 城市廣播網-台北健康電台:mms://bcr.media.hinet.net/RA000027
GOLD FM 城市廣播網-台中城市廣播:mms://bcr.media.hinet.net/RA000028
中廣音樂網 iRadio:mms://bcr.media.hinet.net/RA000007
中廣新聞網:mms://bcr.media.hinet.net/RA000008
中廣流行網 i Like:mms://bcr.media.hinet.net/RA000009
中廣寶島網: mms://bcr.media.hinet.net/RA000005
中廣客家頻道 igo 531:mms://bcr.media.hinet.net/RA000006
復興廣播電台 第一網:mms://bcr.media.hinet.net/RA000024
復興廣播電台 第二網:mms://bcr.media.hinet.net/RA000025
復興廣播電台 短波網:mms://bcr.media.hinet.net/RA000026
RTI 中央廣播電台 亞洲頻道:mms://bcr.media.hinet.net/RA000059
RTI 中央廣播電台 FM:mms://bcr.media.hinet.net/RA000060
RTI 中央廣播電台 音樂:mms://bcr.media.hinet.net/RA000061
RTI 中央廣播電台 歐美及方言:mms://bcr.media.hinet.net/RA000062
RTI 中央廣播電台 國語:mms://bcr.media.hinet.net/RA000063
正聲台北調幅台:mms://bcr.media.hinet.net/RA000015
正聲台北調頻台:mms://bcr.media.hinet.net/RA000016
漢聲廣播電台:mms://bcr.media.hinet.net/RA000074
漢聲光華網 中波:mms://bcr.media.hinet.net/RA000075
漢聲廣播電台 全國調頻網:mms://bcr.media.hinet.net/RA000076
漢聲光華網 短波:mms://bcr.media.hinet.net/RA000077
ASIA FM 92.3 亞太電台:mms://bcr.media.hinet.net/RA000002
ASIA FM 92.7 亞洲電台:mms://bcr.media.hinet.net/RA000003
ASIA FM 衛星音樂台:mms://bcr.media.hinet.net/RA000004
佳音廣播電台:mms://bcr.media.hinet.net/RA000029
佳音經典音樂網:mms://bcr.media.hinet.net/RA000030
佳音現代聖樂網:mms://bcr.media.hinet.net/RA000031
大愛網路電台:mms://bcr.media.hinet.net/RA000017
Flyradio 飛揚調頻 89.5:mms://bcr.media.hinet.net/RA000019
UNI Radio 環宇廣播:mms://bcr.media.hinet.net/RA000020
大漢之音:mms://bcr.media.hinet.net/RA000021
寶島客家廣播電台:mms://bcr.media.hinet.net/RA000023
真心之音廣播電台:mms://bcr.media.hinet.net/RA000033
IC 之音:mms://bcr.media.hinet.net/RA000037
高屏溪客家廣播電台:mms://bcr.media.hinet.net/RA000045
全國廣播音樂網:mms://bcr.media.hinet.net/RA000047
新客家廣播電台:mms://bcr.media.hinet.net/RA000048
太陽電台:mms://bcr.media.hinet.net/RA000064
寶島新聲廣播電台:mms://bcr.media.hinet.net/RA000066
大千電台:mms://bcr.media.hinet.net/RA000067
全國廣播:mms://bcr.media.hinet.net/RA000068
台北廣播電台- 都會資訊頻道:mms://bcr.media.hinet.net/RA000070
POP Radio 91.7 台北流行音樂電台:mms://bcr.media.hinet.net/RA000080
高雄快樂電台:mms://bcr.media.hinet.net/RADRM084
最愛正義電台:mms://bcr.media.hinet.net/RA000022
綠色和平台灣文化廣播電台: http://www.ustream.tv/embed/421210?v=3(原本 HiNet 的頻道停了,改用 Ustream)
警廣全國交通網:http://bcr.media.hinet.net/RADRM049(asf 格式,需用 Windows Media Player 開)
警廣台北台:http://bcr.media.hinet.net/RADRM050 (asf 格式,需用 Windows Media Player 開)
自製的Android App:
70 Hichannel 將 http://hichannel.hinet.net/radio/index.do?id=206 此網址包成一個App(預設電台:中廣流行音樂網 I Radio)
70 Hichannel https://www.dropbox.com/s/ajqugp68ncdpy5q/Hichannel-debug.apk?dl=0
QRcode下載:

其他的Android App:
best taiwan radio https://play.google.com/store/apps/details?id=com.sqgy.taiwanradio
2014年11月11日 星期二
[Linux] samba 啟動,網路芳鄰看不到?
來源 http://35g.tw/blog/2011/01/30/samba-%E5%95%9F%E5%8B%95%EF%BC%8C%E7%B6%B2%E8%B7%AF%E8%8A%B3%E9%84%B0%E7%9C%8B%E4%B8%8D%E5%88%B0%EF%BC%9F/
一般以為只要啟動samba就可以像windows一樣就啟動網路分享的功能,但是其實還有一個背景程式叫「nmb」這個服務要啟動才可以在瀏覽網路芳鄰時看的到主機名稱,也就是在smb.conf中所設定的netbios string 這個設定才會有效,當在網路芳鄰看不到時就要去確定一下是否有啟動「nmb」這個服務:
一般以為只要啟動samba就可以像windows一樣就啟動網路分享的功能,但是其實還有一個背景程式叫「nmb」這個服務要啟動才可以在瀏覽網路芳鄰時看的到主機名稱,也就是在smb.conf中所設定的netbios string 這個設定才會有效,當在網路芳鄰看不到時就要去確定一下是否有啟動「nmb」這個服務:
chkconfig --list | grep nmb
chkconfig --level 35 nmb on
serivce nmb restart
2014年6月21日 星期六
[MySQL] 資料庫latin1塞big5資料,轉換成utf8
環境 CentOS 6.4_x64 + MySQL 5.1_x64
將資料庫字集編碼是latin1,但是存入的資料卻是big5的資料,轉換成utf8。
將底下shell script存成一個檔案,例如:/tmp/_mysql2utf8.sh
假設資料庫名稱為: mydb,帳號:root,密碼:xxxx,請執行:
sh /tmp/_mysql2utf8.sh mydb
會產生一個 mydb_utf8 的資料庫
#!/bin/bash
pwd='xxxx'
dir=`pwd`
[ $# != 1 ] && echo "請輸入資料庫名稱 database_name" && exit 0
tmppath='/tmp'
cd $tmppath
dbs=$1
databases="$(mysql -uroot -p$pwd -Bse 'show databases like "'$dbs'%"')"
for db in $databases
do
db1=$db'_utf8'
workpath=$tmppath'/'$db
test -d $workpath && rm -rf $workpath
test ! -d $workpath && mkdir -p $workpath
chmod 777 $workpath
create=$workpath'/create.sql'
create1=$workpath'/create_utf8.sql'
echo 'DROP DATABASE IF EXISTS '$db1';' > $create
echo 'CREATE DATABASE '$db1';' >> $create
echo 'USE '$db1';' >> $create
mysqldump $db -uroot -p$pwd --opt --default-character-set=latin1 --no-data >> $create
cat $create | sed -e "s/AUTO_INCREMENT=[1-9]* //g" | sed -e "s/CHARSET=latin1/CHARSET=utf8/g" | sed "s/InnoDB/MyISAM/g" > $create1
mysql -uroot -p$pwd --default-character-set=utf8 < $create1
tables="$(mysql $db -uroot -p$pwd -Bse 'show tables')"
for tname in $tables
do
txt=$workpath'/'$tname'.txt'
txt1=$workpath'/'$tname'_utf8.txt'
mysql -uroot -p$pwd -Bse 'SELECT * FROM `'$db'`.`'$tname'` INTO OUTFILE "'$txt'"'
iconv -c -f big5 -t utf-8 $txt -o $txt1
mysql -uroot -p$pwd --default-character-set=utf8 -Bse 'LOAD DATA INFILE "'$txt1'" INTO TABLE `'$db1'`.`'$tname'` CHARACTER SET utf8'
done
rm -rf $workpath
done
2014年3月9日 星期日
[Ubuntu] 安裝 node.js
參考: http://blog.csdn.net/ultimatestudio/article/details/9459483
環境:
Ubuntu 12.04.i386,使用 nvm(Node Version Manage) 來安裝 node.js
1.安裝nvm (需先安裝git)
git clone git://github.com/creationix/nvm.git ~/.nvm
echo -e "\n. ~/.nvm/nvm.sh" >> ~/.bashrc
source ~/.bashrc
2.使用nvm安裝node.js
nvm ls-remote #查詢最新版本 v0.11.11
nvm install v0.11.11
nvm alias default v0.11.11
3.安裝完成,檢查版本,node.js 在 0.6.3 之後的版本自帶 npm (Node Package Management)
node -v
npm -v
2014年1月28日 星期二
[Windows7] 使用 mklink 建立 symbolic link
來源: http://www.dotblogs.com.tw/chhuang/archive/2012/09/10/74700.aspx
在Linux上,有個 symbolic link 非常好用,它可以將實際的檔案或資料夾產生一個或多各連結(就如同火影的分身),現在 Windows 上有了 mklink ,也可以使用了。
mklink:適用平台:Windows Server 2008, Windows Vista、Windows 7 等以上版本。
開啟命令提示字元,輸入mklink /?
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 建立目錄符號連結。預設是檔案符號連結。
/H 建立永久連結而不是符號連結。
/J 建立目錄連接。
Link 指定新符號連結名稱。
Target 指定新連結參照的路徑 (相對或絕對)。
使用方法:
例如:我的電腦中有個R:磁碟機(它是一個RAMDISK) ,現在要將 c:\temp 連結到 r:\temp,前提是請確認有r:\temp這個目錄,請輸入:
rd c:\temp /s/q
mklink /d c:\temp r:\temp
第一個命令是將原來的 c:\temp 刪除
第二個命令才是建立一個 symbolic link
爾後 c:\temp 底下的檔案,全部會存到 r:\temp
要刪除連結請執行:
rd c:\temp
PS:
Linux 的使用方式:ln -s /dev/shm/tmp /tmp
前面是實際路徑,後面是連結名稱。 Windows每次學Linux,都要有點不一樣,就像路徑符號 Linux 用 /dev/shm ("/"斜線),Windows 則改用 c:\temp ("\"反斜線)。
2014年1月9日 星期四
[Linux] Samba server 使用 full_audit 追蹤操作記錄
來源: http://jamyy.dyndns.org/blog/2011/05/3071.html
vi /etc/samba/smb.conf
vfs objects = full_audit
full_audit:facility = LOCAL6
full_audit:priority = NOTICE
full_audit:prefix = %u|%I|%m|%S
full_audit:success = rename mkdir rmdir unlink pwrite
full_audit:failure = none
vi /etc/syslog.conf
# 加上 local6.none 避免另外寫入一份到 /var/log/messages
*.info;mail.none;authpriv.none;cron.none;local6.none /var/log/messages
# 將 full_audit 寫入指定檔案
local6.* /var/log/samba/full_audit.log
service syslog restart
service smb restart
2013年12月12日 星期四
[MySQL] Master/Slave Replication 同步設定
參考: http://blog.longwin.com.tw/2008/03/mysql_replication_master_slave_set_2008/
MySQL 設定 Master 有異動後, 自動 Replication(複寫) 到 Slave 去,由於公司的主機已上線工作,不可能暫停下來設定。但是主機每天就會跑備份,研究了一下,寫了一個 shell script,讓Master主機備份後,自動倒資料到Slave備機,並經由Master主機自動設定並啟用 Master/Slave Replication 同步機制。
複寫機制注意事項:
- MySQL 複寫機制預設就是用非同步的方式進行複寫。
- MySQL 複寫機制是由 Slave 主動向 Master 要求資料庫的內容更新紀錄。
- Slave 不需要一直連接 Master 才能運作,即便長時間中斷連線都還是能回復資料庫同步的狀態。
主機與備機環境 CentOS 6.4-x86_64 + MySQL.5.5.18-x86_64
準備工作:
1. 設定 Master主機:
vi /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin # 其實預設已經啟用日誌檔
# 若是 innodb, 且有用 transaction 的話, 需再加入下面兩行
innodb_flush_log_at_trx_commit=1
sync_binlog=1
server-id=1
log-bin=mysql-bin # 其實預設已經啟用日誌檔
# 若是 innodb, 且有用 transaction 的話, 需再加入下面兩行
innodb_flush_log_at_trx_commit=1
sync_binlog=1
自己找適合的時間重啟 mysql:
service mysql restart
2. 設定 Slave備機:
vi /etc/my.cnf
[mysqld]
server-id=2
log-bin=mysql-bin # 其實預設已經啟用日誌檔
server-id=2
log-bin=mysql-bin # 其實預設已經啟用日誌檔
重啟 mysql:
service mysql restart
3.並且假設Master主機與Slave備機(IP:192.168.1.2),都有root帳號且密碼相同,並可互相登入。
4.上述工作完成後,將底下的 shell script 加入Master主機的排程即可。
#!/bin/bash
pwd='密碼'
master_ip=$(LC_ALL=C ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
slave_ip='192.168.1.2'
sql="GRANT REPLICATION SLAVE ON *.* TO 'root'@'%' IDENTIFIED BY '$pwd';"
mysql -uroot -p$pwd -e "$sql"
sql="FLUSH TABLES WITH READ LOCK;"
mysql -uroot -p$pwd -e "$sql"
logbin=$(mysql -uroot -p$pwd -e "show master status \G;" | grep -i file | awk '{print $2}')
logpos=$(mysql -uroot -p$pwd -e "show master status \G;" | grep -i pos | awk '{print $2}')
# 同步資料庫 dump master #####################
mysqldump -uroot -p$pwd DB > dbdump.sql
###############################################
sql="UNLOCK TABLES;"
mysql -uroot -p$pwd -e "$sql"
sql="STOP SLAVE;"
mysql -h$slave_ip -uroot -p$pwd -e "$sql"
# 同步資料庫 restore to slave #################
mysql -h$slave_ip -uroot -p$pwd < dbdump.sql
###############################################
sql="RESET MASTER;"
mysql -h$slave_ip -uroot -p$pwd -e "$sql"
sql="RESET SLAVE;CHANGE MASTER TO MASTER_HOST=' ';"
mysql -h$slave_ip -uroot -p$pwd -e "$sql"
sql="CHANGE MASTER TO MASTER_HOST='$master_ip',MASTER_USER='root',MASTER_PASSWORD='$pwd',MASTER_LOG_FILE='$logbin',MASTER_LOG_POS=$logpos;"
mysql -h$slave_ip -uroot -p$pwd -e "$sql"
sql="START SLAVE;"
mysql -h$slave_ip -uroot -p$pwd -e "$sql"
# OK, show master/slave status ################
sql="show master status \G;"
mysql -uroot -p$pwd -e "$sql" > /tmp/_mysql_slave.log
sql="show slave status \G;"
mysql -h$slave_ip -uroot -p$pwd -e "$sql" > /tmp/_mysql_slave.log
2013年12月3日 星期二
[Linux] ssh connect 很慢的問題
公司架了一台新主機 Centos 6.4_x86_64 ,用自己的電腦(ubuntu 12.04)使用ssh登錄新主機時,速度很慢,會停頓好幾秒,才會順利登入。
ssh -v 看一下到底是卡在那兒, 在 ubuntu 看到下面結果:
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric host address
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric host address
症狀好像是 GSS 和 kerberos 要設定對, 這種 authentication 才會正常運作。
解決方法:
sudo vi /etc/ssh/ssh_config
找到以下的東東, 把 yes 改成 no 就可以了
GSSAPIAuthentication no
2013年11月29日 星期五
[Linux] shell script取得當前路徑
參考: http://blog.sina.com.cn/s/blog_b09d46020101bhqf.html
shell script中常需要在程序中判斷當前路徑
方法:
WORKDIR=$(cd "$(dirname "$0")"; pwd)
解釋:
dirname "$0"可以取出當前執行的shell文件的路徑,cd進入,然後把pwd的值賦值給WORKDIR
訂閱:
文章 (Atom)
