顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

2014年3月16日 星期日

Use avconv to convert x264 video

我之前轉影片最常用的是 FFmpeg,不過在 Ubuntu 上面,出現了這段文字:

$ ffmpeg
ffmpeg version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Feb  6 2014 20:56:59 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
$

去查了一下,原來 ffmpeg 這個專案出現了分支叫做 avconv,然後幫 Debian 和 Ubuntu 包 ffmpeg package 的維護者們跟 avconv 的開發者是同一群人,於是 Debian 和 Ubuntu 目前都是建議使用 abconv 了。

大略用了一下,其實參數都差不多,所以大部分人應該都可以無痛轉移。


安裝

  •  sudo apt-get install libavcodec-extra-53 libav-tools x264 

使用

範例


$ avconv -i input.mkv -vcodec libx264 -crf 23 -preset slow -profile:v baseline -acodec copy -strict experimental -scodec copy output.mkv

參數

-crf (Constant Rate Factor)

可選 0-51, 0 是無損,51是最差。預設值 23。通常調教合理的範圍是 18-28。18 是人眼不太容易看出差異,但仍然是有損的。

-present

present 代表包含編碼速度以及壓縮率的一組設定。詳細對應的參數可以使用 x264 --fullhelp 查看。

可用的參數:ultrafast, superfast, veryfast, faster, fast, medium (套入預設的設定), slow, slower, veryslow, placebo

-profile (裝置的相容性)

iOS Compatability (​source)
Profile Level Devices Options
Baseline 3.0 All devices -profile:v baseline -level 3.0
Baseline 3.1 iPhone 3G and later, iPod touch 2nd generation and later -profile:v baseline -level 3.1
Main 3.1 iPad (all versions), Apple TV 2 and later, iPhone 4 and later -profile:v main -level 3.1
Main 4.0 Apple TV 3 and later, iPad 2 and later, iPhone 4S and later -profile:v main -level 4.0
High 4.0 Apple TV 3 and later, iPad 2 and later, iPhone 4S and later -profile:v high -level 4.0
High 4.1 iPad 2 and later and iPhone 4S and later -profile:v high -level 4.1

求助

查看 x264 可使用的參數解釋
  • x264 --fullhelp

Reference

2014年1月4日 星期六

vsftpd on Ubuntu 12.04 LTE

最近剛好有架 FTP 的需求,希望有個網路硬碟能讓我能隨時隨地放東西。
找了一下,看到 vsftpd (very secure ftpd) 似乎蠻好架,於是就來試試看。

顧及自己動物機的安全,因此要求如下:
  • 支援虛擬帳號 (virtual account),能與作業系統帳號切開
  • 不可以隨便亂逛,把系統看光光 (chroot)
  • 不允許匿名使用者
 那接下來就讓我們開始吧。

1. 安裝

 $  sudo apt-get install vsftpd libpam-pwdfile

由於 vsftpd 是利用 pam 來與系統的驗證機制結合,這樣他就可以利用系統的帳號登入。
因此我們也可以用它來產生虛擬帳號的功能。
其中 pwdfile 是 apache web server 使用者權限管理的 library,這樣我們就可以用同樣的方法來管理虛擬帳號。

2. 設定檔 (請覆蓋或備份原本的檔案)


 /etc/vsftpd.conf

# global settings
listen=YES
listen_port=2211
anonymous_enable=NO
write_enable=YES
hide_ids=YES

# local accont
local_enable=YES
local_umask=022
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftpsecure
nopriv_user=ftpsecure

# chroot
chroot_local_user=YES
#user_sub_token=$USER
#local_root=/mnt/ftproot/$USER
local_root=/mnt/ftproot
secure_chroot_dir=/var/run/vsftpd

# pam auth setting ==> /etc/pam.d/vsftpd
pam_service_name=vsftpd

dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES

# pasv mode setting
pasv_enable=YES
pasv_max_port=65535
pasv_min_port=49152

# monitor
#  monitor command: watch ps -C vsftpd -o user,pid,stime,cmd
setproctitle_enable=YES

/etc/pam.d/vsftpd

# Customized login using htpasswd file
auth    required pam_pwdfile.so pwdfile /etc/vsftpd/passwd
account required pam_permit.so

3. 建立虛擬使用者對應的系統使用者


為了讓系統更安全,通常我們會讓伺服器用獨立的使用者執行。
在上面的設定檔中,我們使用 ftpsecure 這個帳號。

$ sudo adduser ftpsecure

然後修改 /etc/passwd 。把 shell 設定成 /bin/false。
在這邊我把他的家目錄也設定成跟 local_root 相同了。但這並不一定需要。

ftpsecure:x:9876:9876:,,,:/mnt/ftproot:/bin/false

接下來,因為 vsftpd 不允許 user 到 chroot 的根目錄有寫入權限。
因此我們來修改一下權限:

$ sudo chwon nobody:nogroup /mnt/ftproot
$ sudo chmod 755 /mnt/ftproot

然後建一個目錄讓 user 可以寫入

$ sudo mkdir /mnt/ftproot/upload
$ sudo chown ftpsecure:ftpsecure /mnt/ftproot/upload
$ sudo chmod 755 /mnt/ftproot/upload

4. 建立虛擬使用者


你必須先安裝 apache 以取得 htpasswd 這個指令。
假設我要把密碼檔存放在 /etc/vsftpd/passwd ,以及建立 ftpuser 這個帳號。

$ sudo mkdir /etc/vsftpd
$ sudo htpasswd -dc /etc/vsftpd/passwd ftpuser

5. 重啟 server


$ sudo service vsftpd restart


6. 防火牆


$ sudo ufw allow 2211
$ sudo ufw allow proto tcp to any port 49152:65535

7. 測試


$ ftp localhost 2211

8. Monitor


$ watch ps -C vsftpd -o user,pid,stime,cmd

Reference

2013年12月15日 星期日

Ubuntu remove NetworkManager


$ sudo vim /etc/network/interfaces

如果是 dhcp
auto eth0
iface eth0 inet dhcp

如果是指定 ip, 且走 1G
auto eth0
iface eth0 inet static
address 192.168.0.7
netmask 255.255.255.0
gateway 192.168.0.254
pre-up /sbin/ethtool -s eth0 speed 1000 duplex full
dns-nameservers 192.168.0.45 192.168.8.10 8.8.8.8
dns-search foo.org bar.com
$ sudo apt-get purge network-manager
$ sudo ifup eth0

Reference

2013年3月9日 星期六

Windows 遠端桌面連線到 Ubuntu Desktop

我使用的 Ubuntu 版本是 12.04 LTS

Windows 遠端桌面用的是 RDP Protocal。
在 Linux 上可以藉由 xrdp 這個軟體讓 Ubuntu 桌面支援這個通訊協定,這樣我們就可以利用 Windows 的遠端桌面連線 Client 連到遠端的 Ubuntu Desktop。

安裝

Ubuntu 已經包好現成的 package,裝好就可以用了。
  • sudo apt-get install xrdp

設定

不用修改設定就可以使用。設定檔在 /etc/xrdp/xrdp.ini
如果你有用防火牆,記得開啟 3389/tcp

ufw 指令
  • sudo ufw allow from 192.168.1.0/24 to any port 3389 proto tcp

現在你可以從 Windows 的機器連過去看看,應該可以正常使用了。

參考資源

2013年3月3日 星期日

Ubuntu 動物機 + dlna Server

最近身邊有一些人在玩 NAS, 我也想用手做來架一個。我的需求:
  • BT 動物機 - Headless Transmission
  • DLNA Server - minidlna
Ubuntu: 12.04 LTS

廢話不多說, 直接來裝吧。

Headless Transmission

安裝 transmission-daemon + 設定防火牆 ufw
sudo apt-get install transmission-daemon
cd /home
sudo mkdir -p ./torrents/download
sudo mkdir ./torrents/upload
sudo mkdir ./torrents/incomplete
sudo chown -R debian-transmission:debian-transmission ./torrents
sudo chmod g+w -R ./torrents/
sudo ufw allow 9091
sudo ufw allow proto tcp to any port 49152:65535
sudo /etc/init.d/transmission-daemon stop
sudo vim /etc/transmission-daemon/settings.json
設定 /etc/transmission-daemon/settings.json
"download-dir": "/home/torrents/download",
"incomplete-dir": "/home/torrents/incomplete",
"incomplete-dir-enabled": true,
"rpc-authentication-required": true,      // 需要驗證
"rpc-whitelist": "127.0.0.1,192.168.*.*", // 可以連線的 ip
"rpc-username": "你的帳戶",
"rpc-password": "你的密碼",
"umask": 2, // 讓下載的檔案 user & group 擁有相同權限
"port-forwarding-enabled": false,
"peer-port-random-on-start": true,
"upload-limit": 100,       // 上傳限制 100 K
"upload-limit-enabled": 1, // 啟用上傳限制
把你的帳戶加入 transmission 所屬 group
sudo usermod -a -G debian-transmission
讓 transmission-daemon 重新讀取設定 (當他關閉時會自動複寫 settings.json)
invoke-rc.d transmission-daemon reload
啟動 transmission-daemon
sudo service transmission-daemon start
打開瀏覽器, 輸入網址
http://:9091/transmission/web/
就可以開始用網頁操作了。

minidlna

安裝
sudo apt-get install minidlna
建立 DLNA server 檔案目錄
sudo mkdir -p /d/music
sudo mkdir -p /d/photo
sudo mkdir -p /d/video
sudo chown -R minidlna:minidlna /d/

sudo mkdir -p /var/{cache,log}/minidlna
sudo chown -R minidlna:minidlna /var/{cache,log}/
設定防火牆 ufw (我的區網是 192.168.1.*)
sudo ufw allow from 192.168.1.0/24 to any port 1900 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 8200 proto tcp
設定 /etc/minidlna.conf

把下面設定註解取消,並改成設定的值
friendly_name=Ubuntu DLNA Server    # 要顯示的名稱
network_interface=eth1  # 如果不是 eth0, 請指定

media_dir=A,/d/music
media_dir=P,/d/photo
media_dir=V,/d/video

db_dir=/var/cache/minidlna
log_dir=/var/log
inotify=yes         # (default)
enable_tivo=no  # (default)
strict_dlna=no    # (default)
notify_interval=900  # (default)
serial=12345678  # (default)
model_number=1  # (default)
重建 media db & restart
sudo service minidlna stop
sudo service minidlna force-reload
sudo service minidlna start

參考資源

2011年11月12日 星期六

重灌 PC 為 Ubuntu 11.10

昨天把桌機重灌成 Ubuntu 11.10 了,比想像中好用,原本很擔心Unity會讓我不適應,但是很快就適應了。現在開機只要2分鐘,跟之前開機要 15 分鐘(用了一年半的 Win 7)....只是卡在 Unity 看起來也是 Compiz 的一個 Plugin,所以有一些 Compiz 的 Plugin 不能起來。不過將就將就啦 XD

另外裝完再裝 Screenlets ,就跟其他作業系統的 Widget 一樣了(口味被養大,現在沒有 Widget 顯示系統資訊、時間感覺怪怪的)

另外在安裝時,安裝程式沒有正確認出我的 WD 1TB 採用先進格式化的硬碟(由 Win 7 原生分割為 ntfs),害我擔心了一下,不過開機完就能正常讀取使用。看了一下 fstab ,裡面除了主分割區以外,沒有其他設定。可見 Ubuntu 是開機完以後去偵測的,真是太猛了.....從來沒想過 Linux 可以變成這麼方便。

我做的更新項目:
  1. 安裝 Firefox 8 
    • sudo apt-add-repository ppa:mozillateam/firefox-next
  2. 安裝 Screenlet : 用 Ubuntu 軟體中心搜尋即可
  3. 安裝 Adobe flash (用軟體中心會當掉):apt-get install flashplugin-installer
  4. 安裝 Adobe flash Firefox plugin : 軟體中心搜尋
目前有兩個 Bug:
  1. Pidgin 的notification area icon 出不來
  2. 裝完台灣對應的 fontconfig 設定檔沒有正確產生,需要執行以下指令修正:
    • sudo fontconfig-voodoo --auto