:::
顯示具有 OS/Linux 標籤的文章。 顯示所有文章

修正Fcitx RIME注音・臺灣正體異體字打字問題 / Fixing the Problem of OpenCC Issues when typing with bopomofo_tw of Fcitx RIME

修正Fcitx RIME注音・臺灣正體異體字打字問題 / Fixing the Problem of OpenCC Issues when typing with bopomofo_tw of Fcitx RIME

2-cover-Fcitx_RIME_Fixing_the_Problem_of.png

哈囉,大家最近在吃什麼呢?這裡是終於可以開心打字的布丁。

在臺灣的中文使用者大多都以注音輸入法為主。而各種注音輸入法中,我最推崇的就是RIME中州韻輸入法引擎中的注音・臺灣正體輸入法。在眾多跨平臺的版本中,我目前使用的是Fcitx5 RIME版本。但這個版本有著打一個詞彙卻只出現單字的問題,需要修正opencc之中tw2t.json的設定。

如果你想知道怎麼修正Fcitx RIME的問題的話,就繼續看下去吧!

(more...)

Linux的多媒體影片格式轉檔工具:HandBrake / HandBrake: A Video Transcoder in Linux

布丁布丁吃布丁

Linux的多媒體影片格式轉檔工具:HandBrake / HandBrake: A Video Transcoder in Linux

2-cover-Linux_HandBrake_HandBrake_A_Video.png

晚安,大家最近在吃什麼呢?這裡是煩惱工作環境遲遲無法好好配置完成的布丁。

在Windows作業系統裡轉換影片時,很多人常用的是格式工廠(Format Factory)。而對Linux作業系統的使用者來說,HandBrake則是轉換影片格式的第一首選。使用HandBrake轉換影片時,我們不需煩惱要轉換的影片格式參數,而是可以直接使用它提供了多種使用情境的預先配置檔案。例如我想要在Android或iPhone上播放,或是我想要把它作爲Gmail附件,請它在影片長度和檔案大小間取得平衡,HandBrake都可以幫你直接處理。不僅如此,HandBrake也是Linux、Windows和MacOS的跨平臺工具。接下來就讓我們來認識認識HandBrake這個強大又好用的多媒體影片格式轉檔工具吧。

(more...)

在Chromebook配置適合開發者的Linux桌面環境吧!ASUS Chromebook Flip CX5華麗上陣 / Installing a Linux Desktop Environment on ASUS Chromebook Flip CX5

在Chromebook配置適合開發者的Linux桌面環境吧!ASUS Chromebook Flip CX5華麗上陣 / Installing a Linux Desktop Environment on ASUS Chromebook Flip CX5

image-template-20210726-1542.png

近年來各家Chromebook大廠嗅到了商務市場與居家遠端辦公的商機,紛紛推出了尺寸較大、規格更高級的Chromebook。高階的Chromebook不僅能夠讓原本Chrome作業系統的效能更好,讓使用者能夠同時安裝與開啓更多的Android應用程式之外,還能夠透過crouton,配置適合開發者的Linux桌面環境。在Linux作業系統已經成為全球開發者首選平臺的今日,Linux桌面環境可能會成為吸引開發者使用Chromebook的另一個特色。

哈囉,大家最近吃了什麼呢?我是一邊擺出「= U =」的笑臉、一邊開心地吃著Chromebook的布丁。今天就讓我來看看ASUS近期推出的高階Chromebook:ASUS Chromebook Flip CX5 (CX5500),到底如何要怎麼在Google Chrome瀏覽器爲主的Chrome作業系統中,配置適合開發者的Linux桌面環境吧。

(more...)

如何開啓AppImage裡面的指定應用程式?以WPS為例 / How to open a specific application in an AppImage? Using WPS Office as an example

布丁布丁吃布丁

如何開啓AppImage裡面的指定應用程式?以WPS為例 / How to open a specific application in an AppImage? Using WPS Office as an example

3-AppImage_WPS_How_to_use_files_in-06021022.png

哈囉,大家最近在吃什麼呢?這裡是越用越喜歡Linux的布丁。

你知道Linux的免安裝應用程式AppImage嗎?AppImage主打「一個檔案=一個應用程式」的特色,只要下載並開啓權限後,就能直接執行應用程式。但直接執行AppImage時只能執行創造者預設好的指定指令。如果我們想要執行AppImage中的其他應用程式或檔案的話,可以先把它掛載到/tmp暫存資料夾,然後就可以直接使用AppImage中其他的應用程式了。

本篇使用的例子是WPS Office的AppImage。原本WPS Office的AppImage只允許我們使用WPS文件編輯器(WPS Writer)。如果我們要將副檔名為「dps」的WPS投影片檔案格式(WPS Presentation),用WPS Office的WPP投影片編輯器開啟的話,那就得要用這個方法囉。讓我們來看看要怎麼做吧。

(more...)

空間不足了!如何清理Crouton (Ubuntu)的儲存空間? / How to Free Up Space on Crouton (Ubuntu)

空間不足了!如何清理Crouton (Ubuntu)的儲存空間? / How to Free Up Space on Crouton (Ubuntu)

3-_Crouton (Ubuntu)的空間3.png

大家好,我是持續跟Chromebook奮鬥的布丁。我這臺在2018年購買的Chromebook只有32GB的儲存空間,這個限制使得在Chromebook上裝了些APP、甚至是使用crouton的時候,很容易就用盡Chromebook的儲存空間。Chromebook裡面管理Chrome OS的檔案比較容易,但是在crouton這個Ubuntu作業系統環境裡,要找出大型檔案和已經安裝的套件,就需要仰賴一些工具和指令列命令。接下來就讓我們來看看要怎麼在crouton裡面清出更多空間吧。

(more...)

如何調整NetBeans操作界面的文字大小? / How to setup NetBeans’s UI Font Size

如何調整NetBeans操作界面的文字大小? / How to setup NetBeans’s UI Font Size

簡報1

最近我在xfce桌面環境下安裝NetBeans 8.2,赫然發現到NetBeans操作界面使用的文字預設大小非常地小,難以閱讀。然而操作界面文字的大小設定,似乎並不能在NetBeans裡面調整。稍作研究之後,我發現NetBeans是以Qt框架開發的應用程式,所以可以從Qt設定(qtconfig)來調整它的字體大小。或是在啟動NetBeans時加上「--fontsize 14」(14表示字體大小),才能讓NetBeans的操作界面用較大的文字來顯示。以下我們就來看看怎麼做吧。

(more...)

Chromebook多重作業系統簡介:Chrome OS + Android + Linux的世界 / Chrome OS, Android and Linux on Chromebook

Chromebook多重作業系統簡介:Chrome OS + Android + Linux的世界 / Chrome OS, Android and Linux on Chromebook

Presentation1

你知道嗎,便宜且硬體等級不高的Chromebook中竟然能夠同時運作Chrome OS、Android和Linux,甚至可以模擬並安裝Windows軟體。這實在是太有趣了,讓我就用這篇來跟大家做個簡單的介紹吧。

(more...)

在Linux中用指令新增排程 / How to Create a Cron Job via Shell Script

在Linux中用指令新增排程 / How to Create a Cron Job via Shell Script

image

最近我想要為Zentyal加上排程備份的時候,發現使用Shell Script指令修改 /etc/crontab 檔案並不會實際上觸發排程(儘管如果用vim /etc/crontab 是可以觸發排程的)。後來我參考TheBonsai的建議,用crontab指令來新增排程,這樣就可以成功。

(more...)

Linux搜尋資料夾下的檔案內文:find+grep指令產生器 / Search the Content of Files on Linux: find + grep Command Builder

布丁布丁吃布丁

Linux搜尋資料夾下的檔案內文:find+grep指令產生器 / Search the Content of Files on Linux: find + grep Command Builder

image

Linux內建了強大的搜尋工具find,可以與grep指令搭配一起使用,以達到檔案內文全文檢索的功能。但是這兩個指令太長了,我每次都要找一下它們是怎麼組在一起。這次索性乾脆寫成一個簡單的find+grep指令產生器,讓我們使用搜尋指令更加便利!


搜尋指令 find+grep產生器 / find+grep command builder

find與grep指令說明 / About find and grep commands

預設產生的指令為:

find "/var/www/" -name "*.php" -exec grep -H "Exception" {} \;

這段指令的意思是:

  • 在「/var/www/」路徑底下。
  • 搜尋名為「*.php」的檔案。「*」為萬用字元,可取代任意檔名。
  • 搜尋字串「Exception」。

關於find與grep的介紹,請看[Linux] 搜尋資料夾底下 檔案內部文字這篇。

全系統檔案名稱快速搜尋 / Search Files in Whole System

如果要快速找尋全系統中擁有指定檔案名稱的指令,那麼建議使用locate。例如:

locate log.txt

有時候使用locate之前,要先搭配updatedb建立索引。updatedb指令需要有root權限,用法通常會是:

sudo updatedb; locate log.txt

關於locate的詳細用法,請參與鳥哥的「第六章、Linux 檔案與目錄管理:locate / updatedb」。

(more...)

PostgreSQL常用指令 / PostgreSQL Commands

PostgreSQL常用指令 / PostgreSQL Commands

image

最近很常在Debian裡面安裝PostgreSQL,在此將我會用到的指令都整理一下吧。以前寫過一篇「PostgreSQL的備份與復原」到現在也蠻常參考的,在這裡一併整合備份與復原的語法。

(more...)

擷取AJAX動態產生的網頁內容:PhantomJS指令列工具 / Crawling AJAX Webpages with PhantomJS Command Line Utility

擷取AJAX動態產生的網頁內容:PhantomJS指令列工具 / Crawling AJAX Webpages with PhantomJS Command Line Utility

image

現在很多網頁內容都是以動態的方式產生,例如Facebook會在開啟網頁之後再來讀取網頁內容,就連「布丁布丁吃什麼?」也是在網頁開啟之後再來慢慢載入旁邊的小工具。這種使用AJAX技巧來調整畫面的網頁,雖然便於一般使用者用瀏覽器查看,但是卻會造成伺服器端用程式抓取網頁的困難。

還好,現在我們可以用Node.js寫成的虛擬瀏覽器PhantomJS來幫我們載入完整的網頁內容。為此我寫了一些搭配PhantomJS使用的命令列腳本,讓我們可以在Linux 32位元環境下以指令端擷取指定網址,並配合jQuery選取器抽取出需要的網頁元素,最後直接回傳顯示在螢幕上。

(more...)

想用無限空間沒那麼容易!Google Drive與伺服器整合失敗記錄 / Solution to Integrate Google Drive with Services: not reliable

想用無限空間沒那麼容易!Google Drive與伺服器整合失敗記錄 / Solution to Integrate Google Drive with Services: not reliable

image

最近花了一段時間在研究怎麽把Google Drive (Google雲端硬碟)ZoteroProxmox伺服器整合。整合之後可以運作,但是可能是因為檔案處理速度過慢或是Google Drive API配額的限制,最後都無法順利運作。這篇記錄一下到目前為止的研究進度。

(more...)

如何用PHP執行root權限指令? / Run a command as the Root in PHP

布丁布丁吃布丁

如何用PHP執行root權限指令? / Run a command as the Root in PHP

image

PHP中可以用exec()等指令來執行系統指令,但是執行指令時的身份會是運作網頁伺服器的身份,大部分預設就是www-data。而www-data身份是不能執行影響作業系統的功能,如果想要進行像是重新啟動 (reboot)或是重新啟動Apache Tomcat的操作,就必須以root管理者身份操作才行。本篇參考StackOverflow上的解法,在PHP以SSH2連線以root登入後直接進行指令操作,如此就能解決權限上的問題。

(more...)

Linux伺服器常用的排程設定 / My Linux’s crontab Configuration

布丁布丁吃布丁

Linux伺服器常用的排程設定 / My Linux’s crontab Configuration

image

最近發現自己在管理Linux伺服器的時候太常用到crontab裡面的設定了。與其每次都回頭去查鳥哥,不如直接在這裡記錄一份,未來就可以直接套用了吧。

(more...)

Proxmox VE 4.2配置失敗記錄 / Failed to Setup Proxmox VE 4.2

Proxmox VE 4.2配置失敗記錄 / Failed to Setup Proxmox VE 4.2

image

繼前幾天開始研究Proxmox VE 4.2,我也試著將Proxmox VE 4.2以VirtualBox虛擬機器架設,並且測試看看新的虛擬化技術lxc新的高可用叢集Proxmox VE HA Manager,然後看看有沒有其他的功能好用。結果很遺憾,我未能順利成功使用這些功能。我想在這邊記錄一下這些失敗的過程,也許未來的我知道怎麼操作的話,也許看了會有些不同的感觸吧。

(more...)

在Ubuntu 14.04上安裝Webmin指令腳本 / A Webmin Installation Script for Ubuntu 14.04

布丁布丁吃布丁

在Ubuntu 14.04上安裝Webmin指令腳本 / A Webmin Installation Script for Ubuntu 14.04

image

Webmin是遠端管理Linux的一大量器,甚至許多伺服器設定與管理都比直接使用桌面環境來得方便操作,更不用說可以省下查找指令與設定檔位置的麻煩了。不過一般時候Webmin安裝的時候無法直接從apt-get完成。以Ubuntu來說,必須要先加入Webmin的APT套件庫、加入GPG金鑰,然後才能使用apt-get安裝Webmin。

這學期我在教Ubuntu 14.04的時候,為了方便同學安裝Webmin,我參考Linux技術手札中的安裝教學,將Webmin指令檔整理成以下數行。同學可以直接在Ubuntu中複製、貼上這些指令,就能順利安裝Webmin。

(more...)

OpenVZ虛擬應用範本備份 / Backup OpenVZ Format Virtual Templates

OpenVZ虛擬應用範本備份 / Backup OpenVZ Format Virtual Templates

image

最近在觀看Proxmox VE改版的時候才發現Proxmox VE已經捨棄使用OpenVZ虛擬化技術,而且虛擬應用範本主要的來源Turnkey Linux亦不再提供OpenVZ的格式。為了避免以後使用OpenVZ時找不到虛擬應用範本可供安裝,我認為需要趕快將手邊有的虛擬應用範本備份到其他地方,以供未來需要的時候還能找來下載。下面我以虛擬應用範本內含的系統來分類,有些混雜了下載自Proxmox VE跟我自己做的虛擬應用範本,全部一併備份吧。

(more...)

Proxmox VE 3.4到4.2的更新資訊 / Promxox VE 3.4 to 4.2 Changelog

Proxmox VE 3.4到4.2的更新資訊 / Promxox VE 3.4 to 4.2 Changelog

image

最近發現Proxmox VE已經推出了4.2版,跟我主要使用的3.2跟3.4已經相差已久。4.2版不僅採用了較新的Sencha Ext JS 6,而且還新增了很多功能。我想一邊在回顧Proxmox VE從3.4改版的內容之外,也一邊在這裡做個記錄。

(more...)

Ubuntu中如何用腳本檔新增/etc/hosts設定 / How to write a script for adding hostname to /etc/hosts in Ubuntu

Ubuntu中如何用腳本檔新增/etc/hosts設定 / How to write a script for adding hostname to /etc/hosts in Ubuntu



由於權限限制的緣故,我們不能單純用echo與「>>」來新增/etc/hosts設定,而應該用sh -c。例如:

sudo -- sh -c "echo '10.0.0.254      mfsmaster' >> /etc/hosts"



/etc/hosts是做什麼用的? / What is /etc/hosts?


/etc/hosts 是電腦裡面設定 hostname 跟 IP配對的設定檔,跟DNS的角色很像,可是 /etc/hosts 這個可由使用者自行控制。

根據維基百科的定義:

hosts檔案是一個用於儲存電腦網路中各節點資訊的電腦檔案。這個檔案負責將主機名對映到相應的IP位址。hosts檔案通常用於補充或取代網路中DNS的功能。和DNS不同的是,電腦的使用者可以直接對hosts檔案進行控制。

在Windows裡面,hosts的位置會在 C:\Windows\System32\drivers\etc\hosts 。在Linux裡面,hosts則是在 /etc/hosts 裡面。以Linux來說,/etc/hosts的內容大致上如下:

127.0.0.1       localhost.localdomain localhost
127.0.1.1       zentyal.zentyal.dlll.nccu.edu.tw zentyal

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

系統安全性的關鍵 / Security Issues


必須注意的是,/etc/hosts 是系統安全性一個非常關鍵的系統檔案。因為修改 /etc/hosts 可以將網路連線偷天換日、讓使用者連線到錯誤的網站。舉例來說, 我們可以在 /etc/hosts 裡面加入以下 設定:

192.168.11.50    www.google.com.tw

這樣子連線到www.google.com.tw的網站時,就會被引導到192.168.11.50這個伺服器去。當然,這個IP不是Google真的伺服器,而可能是惡意人士的釣魚網站,你可能就會在未查覺的情況下將帳號密碼輸入到別人的電腦裡面了。

正因為如此, /etc/hosts 是系統安全性的一大關鍵,所以一般人是無法修改這個檔案。在Linux當中,我們必須要以root的身份才能做修改,但是如果要用bash script腳本檔的形式來自動新增 /etc/hosts 的設定,那就得用特殊的方式來設定了。

如何用腳本檔新增設定? / How to add configuration to /etc/hosts by script?


一般網路上在教的方法,都是用echo搭配 >> 來運作,例如:

sudo echo "10.0.0.254    mfsmaster" >> /etc/hosts

但是會導致權限問題,而無法輸入:



-bash: /etc/hosts: Permission denied

那正式的做法應該是用sudo -- sh -c,指令是:

sudo -- sh -c "echo '10.0.0.254      mfsmaster' >> /etc/hosts"


sh的-c參數的意思是:「執行一個字串類型的指令,可以用特殊參數0來替換$1, $2等參數」,總之就是這樣子就能夠用較高權限來設定 /etc/hosts 了。

好,那我繼續來整合MooseFS跟Zentyal。 (more...)

誰把 /var/log/secure 清空了?是logrotate! / Who clean /var/log/secure? Is logrotate

布丁布丁吃布丁

誰把 /var/log/secure 清空了?是logrotate! / Who clean /var/log/secure? Is logrotate

ways-hackers-hack-your-website-e1371080108770

/var/log/secure是Linux中記錄登錄資訊的重要記錄檔,當懷疑有駭客登入伺服器時,我們可以檢查secure來看看有沒有異常登錄的資訊。但是如果啟用logrotate的話,secure會定期被清空。

In Linux, logrotate will clean /var/log/secure regularly. It may not hacker's trick.


我被駭客了嗎? / Have Server been hacked?

昨天因為被網路組警告伺服器有釣魚資訊,所以我就檢查了一下伺服器的權限問題。

一般來說,伺服器的登入資訊都會寫在 /var/log/secure 中 (詳細可以看鳥哥)。因為我懷疑可能伺服器帳號可能已經被猜透了,讓外部駭客直接登入了這臺伺服器,因此我急忙查看 /var/log/secure 檔案。可是讓我很驚訝的是:

2014-10-23_102847

secure跟其他secure.1到secure.4的檔案大小居然是0! 只有secure記錄這我這幾次登入的資訊,都是我本人的電腦無誤。

 

我接下來很緊張地查看root以及常用帳號的history,看一下之前該帳號的操作指令是否有異常。但是那裡面的動作也都是我個人的操作,沒有問題。

網路上也有人在問這個問題,到底是為什麼 /var/log/secure 被清空了呢?

logrotate的工作 / logrotate’s Job

當我找到cron排程工作的時候,我才發現問題在哪裡。

2014-10-23_104231

查看cron.daily的時候,赫然發現有個不太熟悉的logrotate套件。根據鳥哥的說明,logrotate是一種定期打包、清空登錄檔的工具。

image

我查了一下 /etc/logrotare.conf,發現logrotate的確也如設定檔地運作。因此 /var/log/secure 被清空,這可能是由logrotate做的事情。

雖然無法保證這不是駭客的入侵,但至少又更瞭解了Linux的系統運作。

(more...)