2017年11月3日

dpkg:無可挽回的致命錯誤,中止操作 ubuntu 10.04 lucid

很久沒新裝套件, 但在 ubuntu 10.04 停止長期支援 LTS 後, 竟然無法使用 synaptic, 用指令模式也出現錯誤如下。查了很久, 也試了很多, 都失敗... 終於在這一篇找到解決問題的方法 (see ubuntu forum)

簡單地說, 把 /var/lib/dpkg/status 這個檔備份後, 再編輯此檔。
尋找造成錯誤的套件, 以此例來說, 就是 `nmap' 套件

Package: nmap
Status: install ok installed
Priority: extra
Section: net
Installed-Size: 6232

... (以下略)

把這個和 nmap 段落相關的刪除, 再重新執行 sudo apt-get upgrade 即可。

==原本的錯誤==

sudo apt-get upgrade
[sudo] password for yinung:
正在讀取套件清單... 完成
正在重建相依關係         
正在讀取狀態資料... 完成
下列套件將會被升級:
  xxxxx xxxx-doc
升級 2 個,新安裝 0 個,移除 0 個,有 0 個未被升級。
需要下載 0B/32.0MB 的套件檔。
此操作完成之後,會多佔用 17.3MB 的磁碟空間。
是否繼續進行 [Y/n]?Y
(正在讀取資料庫 ...
dpkg: warning: files list file for package `antiword' missing, assuming package has no files currently installed.

dpkg: warning: files list file for package `libiw29' missing, assuming package has no files currently installed.

dpkg: warning: files list file for package `ttf-cwtex-center-cwkai' missing, assuming package has no files currently installed.
(正在讀取資料庫 ... 95%dpkg:無可挽回的致命錯誤,中止操作:

 buffer_read(fd) 失敗:套件 `nmap' 的檔案列表檔: 輸入/輸出錯誤
E: Sub-process /usr/bin/dpkg returned an error code (2)


===解決方法原文===

1. Go into the /var/lib/dpkg directory
2. Make a backup of the "status" file
3. Edit the "status" file
4. Search the package that gave the error
5. Just delete the lines from this package (but let all other lines that concern other packages even if they contains the broken package in their "Replaces" or "Depends" fields)



在 playonlinux 4.2.1 下裝 firefox 56.0.2 (32 位元) 的問題

或許會有人有相同的問題, 紀錄如下:

我在 ubuntu 10.02 裡, 使用預設方式在 playonlinux 4.2.1 下使用 wine 2.18 (2.0.1 好像失敗) 裝 firefox 56.0.2 (32 位元), 第一次啟動很正常, :), 但第二次就沒有畫面了, google 了很久, 終於看到有人提出解決方法

只要在 firefox 網址列, 輸入
about:config

然後找到
browser.tabs.remote.autostart2

把它的值, 從 true 改成 false 即可 (滑鼠按2下)

原文:
The fix involves browsing to about:config and setting browser.tabs.remote.autostart2 to false. They mention setting browser.tabs.remote.autostart to false as well, but mine was already set.

參考
https://bbs.archlinux.org/viewtopic.php?id=223335
https://bugs.winehq.org/show_bug.cgi?id=42388

2017年10月13日

重新啟動音效卡指令 (ubuntu 10.04)

在 ubuntu 10.04 下, 如果突然沒有聲音了, 可重新啟動音效卡指令

sudo /sbin/alsa force-reload

2017年7月12日

用 google app script 在 google 產生 google Form

javascript 語法: https://www.w3schools.com/js/default.asp
google app script: https://developers.google.com/apps-script/guides/sheets/functions
範例來自: http://dsernst.com/2015/07/16/how-to-make-programmatic-google-forms/
從 spreadsheet 抓資料


function getSpreadsheetData(sheetName) {
  // This function gives you an array of objects modeling a worksheet's tabular data, where the first items — column headers — become the property names.
  var arrayOfArrays = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName || 'Sheet1').getDataRange().getValues();
  var headers = arrayOfArrays.shift();
  return arrayOfArrays.map(function (row) {
    return row.reduce(function (memo, value, index) {
      if (value) {
        memo[headers[index]] = value;
      }
      return memo;
    }, {});
  });
}














2015年9月12日

在 Mint 17 中掛載 fat32 磁碟:用 uuid 方式

用 uuid 方式掛載硬碟分割區的好處是以後不用再改,因為 /dev/sd? 的編號 ? 可能會隨著新增硬碟而改變。

==查硬碟分割區的 uuid==

在 Mint 17 中下指令:
ls -l /dev/disk/by-uuid

可顯示各分割區的 uuid, 例如:

lrwxrwxrwx 1 root root 10  9月 11 21:58 06f7f080-0190-44b4-92a3-78cce4086b50 -> ../../sdb5
lrwxrwxrwx 1 root root 10  9月 11 21:58 32c729dc-5fe0-4a4e-876d-449a93128ec6 -> ../../sdb6
lrwxrwxrwx 1 root  root 10  9月 11 21:58 425ce364-51e0-42ac-97e5-e61b9280cfb4 -> ../../sdb1
lrwxrwxrwx 1 root root 10  9月 11 21:58 4960-8D0F -> ../../sdb3
lrwxrwxrwx 1 root root 10  9月 11 21:58 b76c0de2-116a-42de-a24a-6919d070f39f -> ../../sda1
lrwxrwxrwx 1 root root 10  9月 11 21:58 EC4C3EFD4C3EC1DE -> ../../sdb2

上面一大堆奇怪字的,如 4960-8D0F 就是 /dev/sdb3 的uuid。

==編輯 /etc/fstab 檔==

要 mint 17 開機後,自動掛載 ext3 格式的分割區,似乎較不困難,編輯 /etc/fstab 檔,下指令:
sudo pluma /etc/fstab

在檔案最下方加入一行即可:
UUID=425ce364-51e0-42ac-97e5-e61b9280cfb4 /home/你的帳號/目錄名 ext3 defaults  0  0

再利用 sudo chown 你的帳號:你的帳號 /home/你的帳號/目錄名 , 即可改變使用權限變成你自己的。 

==掛載 fat32== 

用上述的類似指令,來掛載 fat32 分割區,我遇到的問題是,只能看不能寫入,應該是權限問題沒設好。但搞了半天,sudo chown 都無效。找了網頁很久,都沒能解決,後來看到有人用以下的指令才成功:

UUID=4960-8D0F /home/你的帳號/4G vfat utf8,user,exec,uid=1000,gid=1000,umask=007 0 0

其中,vfat 是指 fat 型態的分割區,utf8 是文字編碼 (沒設好可能會看到檔名是亂碼),uid 是你的使用者編號, gid 是你的群組編號。下指 id 令可查:

uid=1000(YourName) gid=1000(YourName) 群組=1000(YourName) ...

最後測的以下指令也可以運做 (不用 user 和 exec)

UUID=4960-8D0F /home/你的帳號/4G vfat utf8,uid=1000,gid=1000,umask=007 0 0


我曾經試過以下這些都不行 (我偷懶,沒有仔細去查 fstab 的掛載語法啦...)

UUID=4960-8D0F /home/你的帳號/4G vfat nls=utf8,umask=0222 0 0
UUID=4960-8D0F /home/你的帳號/4G vfat iocharset=utf8,umask=000 0 0
UUID=4960-8D0F /home/你的帳號/4G vfat utf8,umask=000 0 0 
 
可能也是 umask 寫錯了吧?(反正可以先正常使用即可,有空再研究語法...)
參考以下以前我寫的 for ubuntu 的文章紀錄,現在改用 mint 17 了。

2015年4月4日

Firefox 自動更新成新版, 在 ubuntu 10.04 之下?

無法自動在 ubuntu 10.04 之下, 更新 firefox, 只好手動更新, 自 http://mozilla.com.tw/firefox/new/ 下載 for linux 的壓縮檔 (例如 firefox-3x.0.tar.bz2) (先記得將原來在 /usr/lib/ 下的 /usr/lib/firefox 改名為 /usr/lib/firefox-old 當做備分), 將之 sudo 解壓至 /usr/lib/firefox, 然後重新啟動 firefox 應該就 OK 了, 如果您原來的 ubuntu 10.10 選單 firefox 按鈕失效, 可能是系統啟動應用程式的指令是用 firefox.sh 而非直接用 firefox:

您可以檢查 /usr/bin/firefox 這個檔, 是否連結到 ../lib/firefox/firefox.sh,如果是, 修改方法有好幾種, 但其中一種就是把您剛才備份的 /usr/lib/firefox-old 目錄中的 firefox.sh 複製一份到 /usr/lib/firefox, 然後再按選單按鈕應該就可以了。

這種方法的缺點是,安裝後的 firefox 會一直回報有更新, 可惜「自動更新」無法作用!

我試了用 sudo 啟動 firefox 之後, 果然就可以自動更新了, 但是回到用一般使用者啟動 firefox, 原來的 firefox 下的各種設定 (包含舊的瀏灠頁) 都不見了, 但再用 sudo 啟動 firefox, 卻可以看到舊的瀏灠頁...

我想應該是一般 user 的 firefox 設定檔的權限被 sudo 改動了。

找了一下, 果然正是在 /home/zzz/.mozilla/firefox/xxxxxx.default-xxxx/ (zzz 是你的登入帳號, xxx 是系統給的名字, 跟我的可能不一樣) 目錄之下的 sessionstore.js 這個檔的權限被改成 root 了。用 sudo 把它改回你的權限, 應該就 OK 了!

2015年3月30日

Google toolbar 工具列: 書簽 "連不上伺服器" ?!

Google toolbar 工具列所提供的功能中, 其中「書簽」我覺得很好用, 可以讓你用雲端的方式, 記下一些有趣、有用的的網站網址, 然後在任何其它電腦中, 輕易地找回你瀏覽過的網頁。可惜後來 Google 停止 toolbar 對部份 OS 下 Firefox 的支援 (像我熟用的 ubuntu)。

我自己的紀錄, 從 Firefox 12 (見以下連結) 以來, 就要用特別的方式來解決這個 toolbar 不支援 ubuntu 下 firefox 的問題。目前 Firefox 己到 36 版。突然又發現 Google toolbar 工具列下的書簽 (bookmark) 好像又出現 "無法連至伺服器..."、 "連線緩慢..." 等, 實際上就是無法使用 google 書簽的功能, 偶然之下, 發現還是有解決方法的。

注意, 即使你原本已用其它 google 服務登入, 書簽仍無法運作 (例如已登入 gmail, 以前是可以的), 試試看:

1. 直接連到書簽首頁: https://www.google.com.tw/bookmarks/,
2. 它會要求你再次登入, 登入之後, Google toolbar 工具列下的書簽, 就恢復正常了!