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

2020年8月7日 星期五

樹莓派4上使用Ubuntu Mate 64bit版

上次在樹莓派上使用Ubuntu 64bit版
功能性是都有達到啦(用藍牙耳機,可以上網看影片)
但安裝上是十分麻煩且冗長(詳見上一篇),畫面穩定性也不足
整個運作順暢度輸Raspberry OS(Raspbian)很多
只是,裝了就裝了,也懶得再灌回Raspberry OS,就一直處於加減用的狀況

近一週在youtube頻道上
看到了兩個頻道都推Ubuntu Mate在樹莓派4上跑得不錯
很久之前有在樹莓派1代上裝過,對於其小巧容量與順暢度有相當印象
那麼就來試試看吧

2020年4月24日 星期五

在樹莓派4上灌Ubuntu 20.04 LTS

樹莓派4代入手前,就一直想試試灌看看ubuntu看看
畢竟以1.5Ghz四核心的CPU+4GB Ram的配備來說
離一台低階桌機不遠了
剛好這次入手後,新的Ubuntu的LTS版正式發表啦
就順手裝裝看
看看到底離文書用桌機還有多遠

先說結論,結果有點小失望
不過不是速度上的問題,而是穩定性的問題
不論使用gdm還是lightgdm
都有會突然畫面變黑的狀況
是不難解決啦,整個螢幕畫面更新一次
看是按下總覽還是滑鼠跑遍整個畫面都行

然後安裝上更是耗時到很誇張的地步
系統太肥啦
以下是安裝過程

2018年5月19日 星期六

使用Python的urllib進行網頁資料的讀取

近來工作終於稍有喘息的空間
再來碰一下python吧,這次要學的,是網頁資料處理的urllib這個函式庫
也就是撰寫所謂的網路爬蟲程式

寫網路爬蟲程式會用到的模組是urllib模組其中的request
最簡單的使用法如下,以中央氣象局的網頁為例
import urllib.request as req
#以網址取得內容
response = req.urlopen("https://www.cwb.gov.tw/")
#顯示出抓取下來的內容
print(response.read())
然後就會看到中央氣象局的網頁原始碼(HTML)顯示在畫面上
這樣就成功了
接下來就是把讀下來的資料拿去HTMLParser分析然後抓出想要的資料了

可是不是每一個網頁都這麼好處理
有不少是希望你用瀏覽器去看,而不是單純抓資料下來
這時就會拒絕存取,顯示urllib.error.HTTPError: HTTP Error 403: Forbidden
該怎麼辦呢?這時候就需要加入Header資料去騙一下告訴伺服器
其實我是瀏覽器啦 XD

作法有兩種,一種直接在request的部分填入所需要的header資訊
import urllib.request as req
#以目標網址建立需求
header_request = req.Request("https://www.cwb.gov.tw/")
#需求加入開頭資訊,資訊名稱是User-Agent,內容是瀏覽器Chrome版本資訊
header_request.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36")
#用建立好的需求取得網址內容
response = req.urlopen(header_request)
#顯示抓取的內容
print(response.read())

另一種是建立handler與opener後,再開網頁
import urllib.request as req
#建立基本的Handler
handler = req.BaseHandler()
#以基本的Handler建立opener
opener = req.build_opener(handler)
#在opener裡面加入Header的資訊
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36')]
#安裝opener到request裡
req.install_opener(opener)
#開啟目標網址
response = req.urlopen(url)
#顯示抓取的內容
print(response.read())

這樣看來,似乎第2個寫法比較麻煩多了
不過如果程式上需要以同一個header多抓幾個網址的話
那麼第2個寫法就顯得比較簡單,不用每一個網址都要再建一個帶有Header的Request
另外第2個寫法也可以解決需要帳號密碼的網頁
不過要加個密碼管理器
寫法如下:
import urllib.request as req
#建立基本的PasswordManager
pwdmgr = urllib.request.HTTPPasswordMgrWithDefaultRealm()
#加入網址、使用者帳號與密碼
pwdmgr.add_password(None,url ,user ,password)
#使用PasswordManager建立Handler
handler = req.HTTPBasicAuthHandler(pwdmgr)
#以下照舊,用Handler建opener
opener = req.build_opener(handler)
#在opener裡面加入Header的資訊
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36')]
#安裝opener到request裡
req.install_opener(opener)
#開啟目標網址
response = req.urlopen(url)
#顯示抓取的內容
print(response.read())

基礎大概就這些了,剩下的都是變化形了
就我目前的使用來說,夠用了

2014年4月29日 星期二

Apache2+SSL連線功能-進階篇



上一篇介紹了怎麼讓自我認證的SSL在Ubuntu Server上運作
問題是,自我簽發的認證在使用上,都會跳出
這個網站的安全性憑證不可靠!
或是
此網站的安全性憑證有問題。
這樣的警告網頁,除了覺得礙眼之外,
還要多按個按鈕才可以使用,也很麻煩。

理論上把之前產生最高認證中心的簽證檔,
匯入目前使用的電腦,讓瀏覽器認識後,
應該可以讓自己認證的網頁通行無阻
先朝著這一個方向前進吧

2014年4月11日 星期五

Apache2+SSL連線功能


家裡架了個LAMP之後,記帳系統是處在區網內。
資料傳遞不加密其實還好,所以SSL的部分也一直沒有去研究。
一直到最近爆發了OpenSSL的Heartbleed漏洞[註]
讀過一些新聞後,開始想了解如何設定

就趁著工作中一點小空檔來學習一下

[註]詳細的問題解說可以看這一篇:為何 OpenSSL Heartbleed 是嚴重又危急的漏洞?

2013年7月4日 星期四

建構OpenVPN使用帳號密碼~Part II~

趁著最近工作上有點小空檔。
又來重新測試一下OpenVPN與帳號密碼的配合。
結果發現之前設定仍然有些問題。
首先是密碼不符卻還是能通過認證的嚴重問題,
起因當然是密碼打錯卻還是能通過連線。
第二個問題是電腦的OpenVPN Client斷線後,
要等好一陣子才能連上去,一整個莫名其妙。

不過這在一陣時間的努力下,還是解決了。
以下是二個問題的解答。

2013年5月2日 星期四

建構OpenVPN使用帳號密碼

自從開始玩FreeNAS之後,就知道了OpenVPN這套VPN軟體
照著網路文章上一步一步設定,要建立起簡單可用的VPN連線並不難
可是要有辦法進行不同帳號上連線管理就看的很頭大
所幸在網路上找到了這一篇
紐菲斯的部落格>>OpenVPN 建置筆記 (第8集)
看起來非常的簡單,還有提供範例供實作
實在太感謝啦

誰知做下去之後,出現了一些問題

2012年12月28日 星期五

Ubuntu Server 12.04 LTS 架設記錄

用了FreeNAS一陣子,老實說這真的蠻不錯用的
佔的空間又小,該有的功能也都有,當NAS絕對沒問題
可是要再擴充一些功用時就有點麻煩了(請參考完整內文後的碎碎念)

經過研究,架設一個完整功能的伺服器似乎比較合乎我的需求
最終決定使用目前熱門的Linux系統Ubuntu的伺服器12.10版本
→更改為11.10安裝後昇級12.04 LTS
因為我的BenQ Joybook 2100的CPU不支援PAE
因為已經有裝過11.10的Desktop版本沒問題,所以決定先裝後
沒問題再昇級12.04或是更高的版本
這邊筆記一下完整的過程,萬一忘了怎麼用時,還可以找一下指令