2012/09/30

dpkg がわからない...

dpkg に絶望的に手が出てない。

理由あって、Ubuntu10.04 から 12.04 への移行をクリーンインストールで進めていた。

しかし、パッケージをどのようにして、新しい環境に持っていけば良いかわからない...。

2012/08/20

Vim の設定でハマった: textwidth=78

textwidth と formatoptions

Debian Sid で Vim の設定に勤しんでたら、 どれだけvimrcを書いてもtextwidthが変更されていないことに気づいた。 :set コマンドを確かめると、
textwidth=78
formatoptions=croql
となっていた。

2012/07/28

Caps_Lock を Escape にしたり、親指あたりのキーを上手くつかったりしたい

親指あたりのキーを上手く使えるようにキーマッピングを変更したいと思います。
幸いにも日本語キーボードには、様々な不要(というか普段はなくても問題ない)キーがあるのでそれらを置きかえて、作業をスピードアップ!って感じになればなーと。

Control,Shift,Escape あたりは良く使うので、ホームポジションで押しやすくしたいですね。

方法

  • xmodmapを使う。
  • .Xmodmapに書けば、最初に読み込まれる。
  • 自分の環境では、/etc/xdg/xfce4/xinitrc に.Xmodmapを読み込む設定がある。

2012/07/23

IPv6を無効にしているときのssh X11転送

ある日、ssh -X fugaa@hogee やって firefox キメるぜー、とか思ってたら、
"DISPLAY is not set"って言われた。
表題の通り、IPv6関連なのだったけど、最初はxauthのせいなのかと時間がかかってしまいました。
ssh -v[(v|vv)] とすればverbose modeになって、ログが見れるのだけど、
ログでggっても、そもそもFowardX11を許可してない、みたいなのが多かったので書いておく。

作業環境

Xubuntu 12.04 (Debian でもチェックしました。)

2012/07/19

apt: リポジトリごとのパッケージリストについてのメモ

動機

古い環境から新しい環境に移行する際に、
以前はリポジトリを追加しないとパッケージがなかったパッケージだけど、今では標準のリポジトリにある、
ということがあった。しかし、どのパッケージがどのリポジトリにあるのかわからず、困った。
実際、apt-cache showとかを使っても見れなかった。
しかし、インストールする際にはどのリポジトリにあるか知らないといけないので、どこかで管理しているはず、と思い、調べてみた。

解決?

/var/lib/apt/lists/*_Packages というファイルに書いてあった。
でも、本当にこれだけで良いか知らない。
他には見当たらないのでこれかな、と思っているが、ソースを読む気力がない...。。。
だれか教えてください。

git: core.sharedRepository


やる事

  • git clone,pull,pushで作成されるファイルのパーミションを設定する。

動機

サーバ上でにある設定ファイルを、数人がそれぞれのアカウントで編集しgitを用いて共有していました。
その設定ファイルにはパスワードを書かざるを得ないものでした。
そういう状況で、ある日あることに気づきました。
自分はpullしてからパーミションを変更して他の人から読めないようにしていた(そういうシェルスクリプトを書いていた)のですが、
他の人はそうではないようです。

非常に困るのでルールを決めたいのですが、編集メンバーも毎年変わってしまうため、あまり複雑な約束事をしたくありません。

2012/07/14

Debian で Iceweasel Beta をインストール

 今 Debian Sid を使っていて、experimental に入っている、 Iceweasel 13.0.1 を使っています。
 これは Firefox のリリース版で最新のバージョンだけど、ベータ版などのより新しいバージョンも APT でインストールしたいと思っていたら、パッケージが公開されていることがわかったので、それについて紹介します。
と言っても、参考ページを見れば問題ありません。
squeeze用のものとsid用のものとでリポジトリが異なっていますので注意が必要かも知れません。
リポジトリは、Debian Mozilla team のページを参照してください。

2012/07/06

Ubuntu 12.04 で TeXWorks の導入

参考文献

某所でTeXの環境構築の必要があったので、そのメモの一部です。
以下の作業は、Xubuntu 12.04上で行いました。(若干タイトルと違うのは見逃してください)
以下では、
  • TeXのインストール
  • TeXWorksのインストール
  • TeXWorksの設定(コンパイルスクリプトの作成、ユーザーごとの設定)
を行います。
TeXのインストール以外の部分は、Xubuntu 10.04でも確認しました。

環境について

追記: 2012/10/03 新しくノートパソコンを購入したので追記。

デスクトップ

   メインはSidで、他はもう使ってない。容量なくなったら消すと思う。
   時々仮想マシンで実験してるのに使ってる。
  • CPU: intel Core-i7 2600K
  • マザーボード: ASRock P67 Extream4
  • GPU: nVIDIA GeForce GT440
  • メモリ: 16GB (DDR3 1333Mhz 4GB*4)
  • HDD: 1TB
  • Linuxディストリビューション:
    1. Debian sid
    2. Debian squeeze
    3. Ubuntu12.04

ノートパソコン

  1. Acer:AS3820T-F52C
  2.    液晶割れたので自宅でサーバーとなる予定。
    • CPU: Core-i5 480M
    • メモリ: 増設して6Gにした。(最初は2G)
    • HDD: 320GB
    • OS: Windows 7, Debian Sid 

  3. ASUS:U24A-PX3210
  4.    上に書いた液晶割れたやつの代わりに買った。今後カスタマイズしたい。
    • CPU: Core-i5 3210M
    • メモリ: 4G
    • HDD: 750GB
    • OS: Debian Sid

2012/07/04

DDSKK のインストール

 もっと良い感じの日本語入力環境にするために、emacsではSKKを使うことにした。
 DebianやUbuntuでは、インストールは簡単なのだけど、忘れそうなのでメモしておく。

パッケージインストール

sudo apt-get install ddskk skkdic

emacs の設定

.emacsに次の記述を追加する。
(set-input-method "japanese-skk")
(setq skk-large-jisyo "/usr/share/skk/SKK-JISYO")
(toggle-input-method nil)
以上で設定終わり。

skk-tutorial

emacs を起動したら、
C-x C-j
で、DDSKKを使った日本語入力を行える。 また、
M-x skk-tutorial
でチュートリアルができる。とりあえず、これで簡単な操作を覚えた。

思ったこと

  • 打鍵の回数が減ると思うので、今後は是非ともSKKを使っていきたい。
  • ただし、shiftキーの場所を変更しないと少し辛いのと、sticky keyの設定をしないと若干面倒かも知れない。

2012/06/06

Ruby での正規表現

最近、はじめてのプログラミング言語として、Ruby を勉強しています。

後方参照

さて、正規表現を扱う上で、後方参照という重要な仕組みがあります。
『正規表現がマッチするか評価したときに、マッチした文字列を変数に格納しておく』という仕組みです。
Ruby では、
     p /abc/ =~ "aabc"
とかしても、マッチした文字の位置しかわかりません。
しかし、マッチした文字列は、$1,$2,…といった変数から参照できます。
($0 はプログラムファイル名に当てられています)

不思議だった点

「評価した順」に変数に格納されているようです。
 しかし、以下のような正規表現を考えていたときに、
変数にどのように格納されているかわからなかったので書いておきます。

分からない場合は実際に実行してみてください。
     p /((abc)|(bcd))/ =~ "bcdabc"
     p [$1,$2,$3]

2012/05/08

GRUB2 でのメニューリストのパスワードロック

  • GRUB2 : GRUB へのパスワード制限の手順

    まず次のコマンドを打ち、パスワードのハッシュを求めます。
    # grub-mkpasswdpbkdf2
    Enter Password: <pass>
    Reenter Password: <pass>
    Your PBKDF2 is <some long string>

    次にgrubの設定ファイルに、パスワード設定を書きます。
    # vim /etc/grub.d/40_custom
    ### Add Following lines
    set superusers="username"
    password_pbkdf2 username <some long string>

GRUB2 で、/etc/default/grubに上記の設定を書くと grub.cfg を生成するときに、エラーが出ました。

2012/05/07

man ページを別の形式で見る

経緯

Twitter してると、こんなツイートを見た。 @itchyny - Twitter これすごく欲しい!と思って試行錯誤した。

結果

pdf ビューワで見る

中途半端にしかできなかった。 日本語を含むpsをpdfにする方法がわからなかった。 日本語を含まない manなら、
$ man -t (man を見たいやつ) | ps2pdf - /tmp/ManPage.pdf 
$ evince /tmp/ManPage.pdf
としてできた。 日本語じゃなくても良い人は、これを alias に書いておけば良いと思う。

ブラウザで見る

ここで、 pdf は諦めて、html で見ることにした。 (望むなら、全部htmlに変換しておけば、好きにブラウジングできるので、それはそれで便利だと思った。) 詳しくは、man man でも見てもらうことにして、html ファイルを保存しなくて良い方法として、
$ man --html=<ブラウザ> (man を見たいやつ)
とすればよい。aliasとして、fmanを作った。 .zshrcには次のように書いた。ブラウザは iceweasel を使っている。
alias fman="man --html=iceweasel $1"
うまいこと日本語manをpdfにする方法があったら教えてください!!

2012/04/14

Gem 0日目

Gem のインストール

便利なもの

  • コマンド : gem server ブラウザ経由でRDocを読むやつ。
  • showoff : Markdown形式でプレゼンテーションのスライドを作るやつ。
    http://higelog.brassworks.jp/?p=1674

気になるGemページ

2012/02/24

Debianパッケージについて調べてみた

Debian自身について勉強していきたい。そこで、まずはパッケージから。 この文書には、誤りが含まれる可能性があります。 また、網羅性もありません。

知識として...

Debianのポリシーは非常にわかりやすくて(シンプルという意味ではない)、文書化されている。 例えば、

2012/02/23

Xのクリップボードについて

tmuxでコピーした内容を他に貼り付けるときに、クリップボードを共有できないと面倒なのでXのクリップボードについて調べてみた。 Linuxではというより、X11では少し変わったクリップボードの持ち方をしてるようなので、興味深い。

2012/01/28

Firefoxの検索エンジンをGoogleから変更する

ここではFirefoxを使っている人、またさらにVimperator使っている人が他の検索を使うようにする方法を書く。

経緯

Googleのプライバシーポリシーが大きく変更され、 Googleのあるサービスを使って収集されたデータを、 別のサービスでのターゲティングに使う、もしくは使う可能性がでてきた。
これに対しては様々な批判があるらしいが、改訂されないような気もするので、 脱Googleを目指そうと考えている。

2012/01/23

SaaSes VPS のメモ(1)

目的

現状

  • googleでブログを書いている → 同一サイト内でブログ以外にまとまった情報も公開したい
  • gitHubも使っている → 非公開リポジトリをもう少し欲しい!!
  • ストレージサービスとしてドロップボックスを使っている →容量足りなすぎる。。。 

2012/01/21

「なぜ関数プログラミングはなぜ重要か」のメモ

この文は次のサイトの内容(論文の日本語訳)で、気になった部分を箇条書きしたもの。 要約でさえない。素晴らしい内容が書いてある文書の宣伝だよ。

2012/01/18

Aapacheメモ

環境はDebian squeeze。 とりあえず、Apacheを立てるところまでやる。

予備知識

ApacheはいわゆるWebサーバの一種である。
ユーザは多いっぽいし、色んなモジュールがある。
拡張性もそれなりに高いらしい。 以下自分の知らなかったこと。
  1. プロセスの振る舞いについて Apacheはプロセスの振る舞いとして(少なくとも)3種類あるようだ。 これは、MPMというので変えられる。 (そもそもプロセスとは… 参考:m-birdとFreeBSDの同棲日記)
    • prefork スレッドを用いない、リクエストが来る前にforkしておく方式。