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

2018年2月8日 星期四

Wordpress 4.9.4 更新問題解決方案(設定權限就可改善)

Wordpress Dashboard 要求輸入 FTP 帳號密碼

如果你在 VPS 上安裝新的 Wordpress,在一段時間後發現 Dashboard 上出現提示 Wordpress 已經可以更新,但當你按下更新按鍵卻發現他要求你提供 FTP 的登入 IP、帳號、密碼。

為何會發生這個問題?如何避開這個 FTP 登入要求?

因為 VPS 在 Apache 安裝的過程中,因為資料庫裡的資料夾權限不是使用 root 權限針對一些相關的資料夾進行設定,所以導致 Wordpress 有些資料夾無法在指定的帳號下進行更新。解決方式很容易,只需要修正資料夾的權限就可以了。


修正料夾權限,將系統資料夾權限統一化


首先請先確認你可以用 Putty 這類的連線軟體登入你的伺服器。順利登入伺服器之後,直接輸入:

chown -R apache:apache /var/www/

接著你只要重新載入一次你的 Wordpress Dashboard 就可以按下更新,這時後 Dashboard 向你要求 FTP 登入資訊的畫面也消失囉!

更多相關討論,可以參考這一篇: Wordpress asking for FTP Credentials

2017年8月7日 星期一

Ubuntu 更新錯誤 apt update error - "An error occurred during the signature verification"

套件更新錯誤

public key 遺失問題

大約每兩三天我就會 update 一下我的電腦套件,但今天早上遇到了一點狀況。
先說明一下我的作業系統和電腦:

電腦: x230 
OS: Ubuntu 17.04 (從 16.10 直接升級到 17.04 )

早上打開電腦嘗試使用 sudo apt-get update 更新一下系統套件,但出現了以下錯誤資訊:

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used.
GPG error: http://dl.google.com/linux/chrome/deb stable Release:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6494C6D6997C215E
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6494C6D6997C215E
W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done



遇到上述的 apt update 問題,可以經由兩個步驟來檢查:

1.  修改 google-chrome.list 


打開 terminal 輸入以下資訊,以 gedit 編輯以下檔案
sudo gedit /etc/apt/sources.list.d/google-chrome.list

檢查檔案中 deb 後方的 arch 有沒有加上 amd64,如果沒有,請手動將它改寫為 [arch=amd64],然後存檔再執行一次 sudo apt-get update
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main


2. 重新取得 repo key from Google


打開 terminal 輸入以下資訊
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

上述兩個步驟都執行成功的話,重新 sudo apt-get update 就可以修正了!

2015年3月3日 星期二

在 Ubuntu 14.10 上使用 LINE ( 以 PlayonLinux 安裝)

半年前開始在 Ubuntu 14.04 (32bit 版) 上使用 Wine 安裝 LINE 作為工作上的即時通訊需求,但是近期為了升級系統套件,索性將整個作業系統更新到 Ubuntu 14.10 (64bit 版) ,但由於 Wine 與 LINE 的安裝套件包無法正常在 64bit 作業系統上運作,便在網路上找找有沒有相關討論串,恰好找到了以下這篇好文章: 以 PlayonLinux 安裝 LINE

文章作者圖文並茂的操作解說,非常容易可以按部就班完成操作,唯獨需要留意幾個細節:

1. 安裝 x86-32 bit 版本 Wine
文章中所安裝的 Wine 版本是 x86-32bit 版本,若你和我一樣是安裝 64bit 版本,還是請依照文章裡介紹的安裝 x86-32bit 版本。因為 PlayonLinux是在你的系統中另外切割了一個小區塊作為虛擬區塊,用來執行 Wine + LINE ,所以你即使你的作業系統是 64 bit ,還是可以正常使用。

2. 為何不安裝 64bit 版本?
因為當64bit  Wine 安裝好後,後續尚有三個套件需要安裝,才能順利執行 LINE ,但其中dotnet20sp2 套件在安裝過程就會跳出錯誤訊息,告知此一套件無法在 64 bit 版的 Wine 上執行。所以為了可以正常運作,還是請依照 ezgo 筆者文章介紹的,安裝 x86-32 bit 版本吧



以上是 LINE 透過 PlayonLinux 在 Ubuntu 14.10 上執行的建議與心得!

2015年2月27日 星期五

以 Serial Port 操作 Raspberry Pi A+

如果您手邊只有一台 NB ,沒有多餘的螢幕可以透過 HDMI 將 Raspberry Pi 上的畫面顯示出來,但又希望可以不須外接鍵盤滑鼠,就可以對 Raspberry Pi 進行直接操作,這時候您可以學習使用 Serial Port 的連接方式,就可以將 Raspberry Pi 的 terminal 畫面透過 Putty 等軟體顯示於 NB 的螢幕上了。

首先我們來看看這次的操作介紹需要些什麼基本需求:

* Raspberry Pi A+ (其他系列亦可)、microSD記憶卡(供作業系統使用)
* microUSB 電源線
* USB to Serial Port 轉接線
* EDIMAX 7811Un  Wifi Dongle
* NB 一台(此文採用 Ubuntu 14.04 為操作環境)
* Putty 軟體
* 了解基本 linux command line 操作指令(例如 cd、ls、ifconfig 等)



當上述設備與基本觀念都具備後,我們來稍微分析一下為什麼要挑選Raspberry Pi  A+ (以下簡稱 A+ ),USB to Serial Port 線該選哪一種,以及應該選擇哪一套 Pi 的作業系統:

1. 為什麼要選擇 A+ ?
雖然很想說:因為便宜,但這個聲明已經不具說服力。因為我在撰寫這篇文章的前兩天已經看到有店家將 Raspberry Pi  model B 為了因應 Pi 2 的上市,而降價求售到只要 $500 就可以買到。

會選擇 A+ 其實最看中的是他的體積。A+ 大約是 Model B 的一半面積。雖然在板子上不具備網路晶片,以及只有一個 USB 孔,但對於低階且不太需要外部輸入設備的應用來說,這是一個極具奢侈的硬體平台了。因為甚至多數應用只需要 Arduino 就可以完成。

但 A+ 比起 Arduino 更吸引人的特點有:

* 具有 32 個 GPIO
* 若需要網路功能,只要插上 USB Wifi dongle 即可
* 運算速度以及具備作業系統功能
* 可直接於 Pi 上以 Python 撰寫相關程式
* etc.

正因為有了這些體積、耗電、運算、上網等需求,所以我傾向選擇 A+ 而非 Model B 系列與 Arduino 。


2. USB to Serial Port 線
USB to Serial Port 線材其實有很多種,而且會因為內建的晶片價格而有相當大的價格差異。我所選擇的是國內拍賣網站上的平價轉接線。其採用晶片是國內旺玖科技的 PL2303 晶片,線材外觀如下



3. 作業系統
這部份就比較見仁見智,看個人需求與使用習慣來選擇即可。因為我多數時間都是使用 Ubuntu,加上有點懶惰不想再多記憶其他作業系統的操作指令,所以我推薦 Debian 和 Ubuntu 使用者可以選擇 Raspberry Pi 官方推出的:Raspbian 。這套作業系統的操作指令與 Debian 沒有太大差別。




開始動手

安裝 USB to Serial 線
假設你已經在 Raspberry Pi 上下載了作業系統的 image 檔,並正確燒錄到 SD 卡上,這時就可以將 SD 卡安裝至 A+ 上。接著請參考 A+ GPIO 腳位,並依照下圖將 USB to Serial  線接至 A+ GPIO 。

USB to Serial 與 A+ 連接的腳位對應如下:

USB 黑線 <--->  A+ 6號 Ground Pin

USB 白線 <--->  A+ 8號 TXD Pin


USB 綠線 <--->  A+ 10號 RXD Pin






上述步驟做完後,接著就可將 USB 插入電腦端 USB ,並開啟終端機(terminal )查詢目前接上的 USB to Serial  線路所使用的是哪個裝置名稱,請輸入:ls /dev/ttyUSB*

若你的 USB to Serial 線可被正確讀取,你應該能看到如下圖的顯示畫面



安裝 Putty 
USB to Serial 線安裝好後,請先確認你的電腦已經安裝好 Putty 這套軟體,因為我們將透過這套軟體進入 Raspberry Pi A+ 進行一些設定。如果你尚未安裝,請直接在終端機中輸入:
sudo apt-get install putty

安裝完成後,請將 Putty 開啟,開啟後畫面如下


因為待會我們是要透過 Serial 連入,因此請點選 Serial 選項。點選後會發現 Serial line 的連接埠與我們稍早所查詢的名稱不同,Speed 也僅只有 9600 ,因此我們需要修正一下。



將 Serial line 的連接埠修改為 /dev/ttyUSB0 ,並將 Speed 改為 115200 後就完成了這部份的設定,待會連接時就可以正常連入與顯示



在正式連線進入 A+ 前,這邊我會建議你調整一下字型與字體大小,這會讓你的操作過程感覺更加舒適。請先點選 Fonts ,並點選第一個欄位旁(寫著 server:fixed) 的 Change 按鈕


按下 Change 鍵後,會跳出一個小視窗,建議選擇以下字型與字體大小:
Nimbus Mono L ,大小 12 ,選擇完成後,請按下確定


完成了連接埠、傳輸速率、字型與字體大小的修正後,請回到 Session 頁面中,我們準備正式連線進入 A+ 。



開始連線
在正式為 A+ 接上電源開機前,請再次檢查你的 USB to Serial 是否已經正確接上、Putty 設定是否完成、microSD 卡是否也已經安裝完成。如果以上都準備好了,那就開始連線吧!


一開始的連線過程,可能會遭遇以下情況

狀況一:無法開啟通訊埠
如果你的 Putty 是透過 Ubuntu 左側欄位搜尋、執行的話,此時你所執行 Putty 的身份僅是一般 User,並非 root ,而且近年來 Ubuntu 對於 USB、Serial Port 等通訊埠的「存取權限」限制的更嚴格,以防 USB 埠被惡意感染或攻擊。



解決方案:直接至 /usr/bin 資料夾中,以 sudo 指令執行 putty 




狀況二:沒有任何畫面
若已經透過 sudo 執行 Putty ,雖然沒有蹦出錯誤訊息,但畫面一片黑,這時只需要重新拔掉 A+ 上的電源線,重新插上即可正常顯示畫面。

註:若重新上電,Putty 依舊沒有畫面,請檢查 microSD 是否有正確安裝


重新插上 microUSB 線,讓 A+ 重新上電開機


順利開機後,即可在 Putty 上看見 login 畫面。如果你是第一次使用,Raspberry Pi 的作業系統帳號、密碼預設為:

帳號:pi
密碼:raspberry




修改密碼
為求安全起見與個人使用習慣,建議登入 A+ 後,盡快修改密碼,避免有心人士隨意登入取得操作權限

請輸入:sudo passwd
輸入完成後,系統會請你輸入目前舊有密碼,接著再請你輸入兩次新密碼,就完成了密碼修正,記得下次登入系統時,就要使用新的密碼囉!





網路設定
這篇教學主要是分享如何在沒有多餘的螢幕、鍵盤滑鼠的情況下,依舊可以透過 Serial Port 連線至 Raspberry Pi 中進行設定、調整。尤其像 A+ ,他的 USB Port 只有「一個」,當 Wifi Dongle 接上且還沒設定好上網功能,更無法連接鍵盤滑鼠的情況下,只剩 Serial Port 一途可以進行操作了。讓我們來學習如何不依賴 USB to Serial 線也能操作 A+ 吧!


Wifi Dongle 設定
若你已依照本篇所有步驟完成了基本操作,請先保留 USB to Serial 線依舊連接於 A+ GPIO 腳位,並請將 EDIMAX 7811Un  Wifi Dongle 接至 Raspberry Pi A+ 上的 USB Port ,並請參考以下文章 學習設定 Wifi Dongle 。


SSH 連線
有時候透過 USB to Serial 線操作久了,Putty 上的畫面開始會呈現刷新過慢、停頓等問題,而且 Raspberry Pi 若已經設定好 Wifi 或乙太網路埠的連線功能,那我們就可以考慮透過遠端連線的方式,連入 Raspberry Pi ,不需要再拖著一條尾巴進行操作。

遠端連線最常聽見的不外乎是 Telnet 和 SSH ,但是 Telnet 的封包是採用明文傳輸,是相當不安全的一種通訊協定,因此我們只要將 Raspberry Pi 上的 SSH Server 給打開,就可以透過 SSH 從遠端連線 Raspberrt Pi 了。

假若你已經使用 Serial Port 完成了 Wifi Dongle 設定,Raspberry Pi 也可以正常上網後,為了能使用 SSH,請輸入:sudo raspi-config



進入 raspi-config 後,請選擇第 8 個選項 Advanced Options


選擇 A4  SSH ,並選擇 Enable

當 SSH 正確 Enable 後,會出現 OK 畫面,此時已經完成 SSH Server 的開啟了。


SSH 設定完成後,如何離開 raspi-config ? 只需要按下 TAB 鍵,讓游標跳至下方,並選擇 Finish 就可以完成設定並離開。


這時候可以查詢自己的 IP ,並嘗試使用 SSH 連線登入,如何查詢自己的 IP 呢?請輸入:ifconfig ,你將可以查詢到 wlan0 目前所使用的 IP 為何。

註:這裡是使用了 192.168.0.102 的區網 IP,並非由外部可連入的實際 IP,若需取得實際 IP,可自行查詢如何開啟無線 AP 設定頁面中的 forwarder ,以及透過 no-ip 設定一個實際 IP

當 IP 正確,並可登入時,將會要求輸入


如果正確登入,將可看到以下命令列顯示: pi@raspberrypi ~ $
操作到這裡,恭喜你,終於可以擺脫 USB to Serial 線,以後都可以透過網路方式連線到 Raspberry Pi ,享受更快速、穩定的遠端操作畫面。




以上介紹,是基於希望能把 A+ 發揮最大效用,因此先採用 USB to Serial 線連線設定 Wifi Dongle 與開啟 SSH 功能,最後就可將 Pi 繼續進行更多有趣的實驗!希望今天的介紹對你有幫助!

2015年2月15日 星期日

Ubuntu 14.04 更換 Linux kernel 3.19

由於已經好久沒有嘗試更換 Kernel ,已經有點生疏,因此在此作個筆記提醒自己一下。這次的文章中所使用的 OS 是 Ubuntu 14.04,預計從 3.14 自行更新 kernel 為 3.19。


查詢現有 kernel 與移除舊版 kernel

1. 查詢當前使用 kernel 版本:uname -r 
首先打開終端機,並輸入 uname -r 查詢自己目前所使用的核心版本


2. 印出目前 /boot 中有哪些 kernel:dpkg --get-selections | grep linux-image
若平時有開啟發行版自動更新,或是手動透過 sudo apt-get dist-upgrade 的朋友,有時或許或遭遇 /boot 已滿,無法完成更新的問題。其原因是 /boot 資料夾因平時 dist-upgrade 指令自動下載升級 kernel 後,並未將舊版本 kernel 移除,因此才會有 /boot 空間不足的提示。

欲了解自己的 /boot 中存在哪些 kernel ,請輸入:dpkg --get-selections | grep linux-image
終端機將會印出目前存在的 kernel 有哪些版本。


3. 移除多餘 kernel 節省空間: sudo apt-get purge linux-image XXX
在步驟二中所查詢到的舊 kernel 若確實已經不再用到,此時可以透過 purge 指令移除舊版 kernel ,只要再 sudo apt-get purge 後方輸入步驟二中印出的舊版 kernel 即可進行移除。




手動更新  Linux Kernel 3.19 

1. 準備開始
透過上述步驟清理 /boot 空間後,接著要開始替 Ubuntu  14.04 手動更新。 Linux Kernel 開發團隊將 32 位元與 64 位元的 Linux Kernel binary file 上傳於此:Linux Kernel 3.19

2. 確認位元版本
確認自己的作業系統是 32 位元還是 64 位元。在這個教學範例中,我的筆電是 32 位元,因此需要下載以下檔案:

- linux-headers-3.19.0-031900_xxx_all.deb

- linux-headers-3.19.0-031900-generic_3.19.0-031900.xxx_i386/amd64.deb

- linux-image-3.19.0-031900-generic_3.19.0-031900.xxx_i386/amd64.deb



3. 下載並安裝 Linux kernel 3.19  
下載時,我們先將檔案存在 /tmp 區,最後再一次全部安裝,請依照下列命令執行:
cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/linux-headers-3.19.0-031900-generic_3.19.0-031900.201502091451_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/linux-headers-3.19.0-031900_3.19.0-031900.201502091451_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/linux-image-3.19.0-031900-generic_3.19.0-031900.201502091451_i386.deb

sudo dpkg -i linux-headers-3.19.0-*.deb linux-image-3.19.0-*.deb
4. 重新開機
步驟三中全部依序完成後,即可重新開機,完成更新 Kernel 的步驟。當電腦重新開機完成後,你可以再使用  uname -r 查詢 kernel 是否正式更新成功。 

5. 清理空間
安裝套件後,有些暫存檔案並未被移除,而平時使用時也有部份檔案已不再被使用,這些檔案留在電腦中,將會影響系統的順暢,因此我們可以使用以下指令協助清理系統:

sudo apt-get autoremove

sudo apt-get clean



到這裡,你已經完成了如何幫 Ubuntu 14.04 更換為最新 Linux Kernel 3.19 版,透過新的 Linux Kernel ,機器設備將有更好的支援與穩定度! 

2014年12月24日 星期三

Setting Arduino UNO COM Port in Ubuntu 14.04

你是否在 Ubuntu 14.04  terminal 輸入 : ./arduino
執行 Arduino 時,是否有發現以下的畫面:

1. Arduino IDE 右下角顯示 Arduino 已連結於 COM X  (X 為系統給定的 Port 值,在此為 1)
2. Tools -> Serial Port 無法選擇



如果你有以上狀況別擔心,並不是 Arduino IDE 有問題,或是 USB 無法讀取,而是 Ubuntu 使用者權限的限制問題。只要在輸入執行 Arduino IDE 指令前加上 sudo ,就可以打開 Serial Port 存取功能。

現在改為輸入:sudo ./arduino
Serial Port 項目就可以正常顯示並設定



針對 USB 的存取與控制,Ubuntu 限制的比 Windows 來的嚴格,但這也是對安全的基本考量,因此下次如果遇到 Arduino 無法選擇下載埠,記得先關閉原始 IDE,並使用 sudo 開啟就可以了!



2014年12月11日 星期四

Ubuntu 14.04 install Android Studio 1.0 with ERROR: 32-bit Linux Android emulator binaries are DEPRECATED

當你嘗試在 Ubuntu 底下執行 Android Studio 上剛寫好的 APP 時,你可能會在 Android Studio 下方的訊息視窗發現以下內容:

ERROR: 32-bit Linux Android emulator binaries are DEPRECATED, to use them
you will have to do at least one of the following:


- Use the '-force-32bit' option when invoking 'emulator'.
- Set ANDROID_EMULATOR_FORCE_32BIT to 'true' in your environment.

Either one will allow you to use the 32-bit binaries, but please be aware that these will disappear in a future Android SDK release.
Consider moving to a 64-bit Linux system before that happens.


 這段內容指出你的 Android Studio 虛擬器 (emulator) 沒有正確執行,因為相關的 32 bit 指令沒有正確連結,因此無法啟動。在錯誤訊息處已經有提示你要如何排除這樣的狀況(黃色訊息處)。


由於第一行方法我尚未在 Android Studio 環境下執行過,因此在這僅提供第二行方法的操作步驟,詳見如下:

1. 請開啟 terminal 並輸入: gedit ./profile
    (如果慣用 Vim 編輯者,也可以改以 Vim 開啟編輯)

2. 開啟 profile 後,請捲至最下方後,貼上:ANDROID_EMULATOR_FORCE_32BIT =true
    在儲存後關閉,並重新登入一次系統即可。

3. 重新開啟 Android Studio ,並執行剛剛無法正常運作的 APP 與 emulator ,此時即可正常運
    作了!現在就可以快快樂樂寫 APP 囉!



2014年12月9日 星期二

Ubuntu 14.04 安裝 JDK 7

2014年 12/9  這天 Android Studio 1.0 終於釋出,此一版本改善了之前 Beta 版的 Android Studio 許多細節,而且 Eclipse 上的 ADT 也將停止開發。言下之意,Google 希望 Android 開發者都能轉換到 Android Studio 底下,如同 iOS 的 Xcode 開發平台一樣,可將開發工具的破碎化降至最低。

當下載好 Android Studio 後,如果解壓縮後在 /bin 資料夾無法執行 ./studio.sh,多半是因為 Ubuntu 尚未安裝 JDK 套件,依照 Android 官方頁面建議,需安裝 JDK 7 ,因此請打開終端機,輸入以下指令進行 JDK 安裝:

sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get update 
sudo apt-get install oracle-java7-installer

當 JDK 安裝完畢後,請輸入:
javac -version

若 JDK 有正確安裝,終端機將顯示:
javac 1.8.0_25


JDK  安裝完成後,就可在終端機下切換至解壓縮後的 Android Studio 下的 /bin 資料夾執行 ./studio.sh 便可開始進行安裝 Android Studio ,接著就可以開始快樂使用 Android Studio 寫 APP 囉!

2012年4月29日 星期日

快速製作 Ubuntu 免光碟即可安裝的 Live USB 教學

以往需要安裝 Ubuntu 時,第一步驟就是需要抓取最新版本的 Ubuntu  ISO 檔,並燒錄成光碟片後才能安裝至設備上。但Linux 的發行版本繁多,若想嘗鮮,豈不是要浪費許多光碟與燒錄時間?即使利用 RW系列的可抹寫光碟片,依舊是漫長的等候時間。


因此我們要善用 USB 隨身碟的快取功能與主機板的開機選項中的 USB 優先讀取這兩項功能:

1. 首先要瞭解欲安裝的電腦主機板有沒有USB優先讀取的選項


    如果在BIOS的啟動選單中,可以看到如圖中所示的 USB 選項,請將該選項設定為優先讀取的設備。設定完成後,儲存並離開,電腦將會自動重新開機(步驟到目前為止僅先確認有無USB開機選項及設定)




2. 製作 Live USB


    經由步驟1設定好 USB 開機選項後,接著就要製作用來安裝剛剛所設定好的電腦所需要的 Live  USB 檔案。製作 Live USB 所需要的材料有以下三個:


--  Linux 發行版的 ISO 檔
--  USB 隨身碟1支 (建議容量為 4 G )
--  Universal USB Installer(Universal USB Installer 下載頁面




備妥以上材料後,插上 USB 並開啟 UUI ( Universal USB Installer ),可以看見如下圖所示的畫面:


Step 1: 首先選擇你的 Linux 發行版本







Step 2 & Step 3: 選擇 ISO 來源路徑與 USB 磁碟機代號,完成後按下 Create 就開始執行
                             Live USB 的製作了(Step 4 可忽略不設定)








Live USB 製作完成後,畫面下方的 Close 按鈕會浮現,這時候只要按下 Close,就可以拔除 USB,將 USB 移到我們在步驟1 已經設定好的電腦上準備透過 USB 開機讀取進行安裝 Ubuntu囉!






當電腦 USB 開機讀取設定沒有問題,Live USB 也製作的很ok,開機後的電腦畫面應該就會像下面一樣。若單純只想玩玩各種不同的發行版怎麼玩,就選擇執行『Run XXX From this USB 』 ( xxx 泛指其他各種 Linux 發行版),若是要直接安裝完整的 Linux 環境,請選擇第二個選項 『Install XXX on a Hard Disk』






製作 Live  USB 是不是很簡單呢?希望這份教學可以為你帶來便利!