linux-bio のすべての投稿

byobuでファンクッションキーが効かなかった件

大変お久しぶりです。

さて、screen関連とか調べていたところ、byobuというラッパーコマンドがある、という話を知りました。

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0382
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0291

せっかくなのでちょっとやってみるかな、とそこにあったコマンドの通りに

$ sudo add-apt-repository ppa:byobu/ppa
$ sudo apt-get update
$ sudo apt-get install byobu

とやってインストールしてみて動かそうとしたところ、F2キー(新しいウインドウを作る)がどうしても動かないという現象に直面しました。

はじめはF1も動かなかったのですが、こちらはgnome-terminalの方のショートカットに登録されていたということで、「編集→キーボードショートカット」から該当箇所(一番下の「ヘルプー内容」のところをクリックして選択した上で、BSキーを押すことで「無効」にすることで対応できました。
だが、F2がどうしてもうまく動かない。F3以下のキーは一通り動いたかと思うのですが、F2だけがどうしても動かない。F2もshift-F2もダメ。
“プレフィックスキー C”では動くので、何かF2の制御がよそに取られているのかなと思ったりして色々とあーだーこーだとやったのですがどうしてもダメでした。

そんな中、ネットで漁った記事の中にて、このような記述が。

http://techracho.bpsinc.jp/tsunekawa/2013_09_26/13646

最近になって byobu-config というコマンドを知りました。 F9キーで開くメニューをコマンドラインから開くことができます。

byobu-ctrl-a という使い道の限定されたコマンドではなくこちらを薦めてくれればいいのに。
byobu-config コマンドの機能なのか確認は取れていないのですが、 私の環境では byobu-config でメニューを開いた後はF9キーでもメニューが開けるようになりました。

こちらを参考にして、一度byobu-configとやってみたところ、それだけでF2キーやshift-F2キーが使えるようになりました。

参照先は(macでの)F9の話だったのですが、ubuntu12.04上の私の環境でも、F2キーに関して同様の対処で使えるようになりました。対処に色々と苦労して時間ばかり使ってしまっていたので、とかく貴重な情報でした。ありがとうございます。

 ……とだけ書いて記事を投稿する予定だったのですが、その後またF2キーが使えなくなるという現象が発生しましたorz

 ただ、byobuその後 sudo apt-get purge byobu 等やってアインインストールした後再インストール等やってみたところ、現象が消え、普通にf2が使えるようになりました。
 sudo add-apt-repository ppa:byobu/ppa をやったのが関係しているのかなと思いレポジトリを削除した上で再インストール等やってみたのですが、そもそもどちらもbyobuのバージョンが5.17で同じだったりしたので関係は無いのかも知れません。

 とかく、一度byobu-configをやったあと使えるようになった、という現象は確かにあったかと思います。

 とりあえず、これでしばらく様子を見てみたいと思います。


jankiメソッドでPythonを勉強(anki準備編)

 先週はNGS現場の会第四回研究会がありましたね。参加された方はお疲れ様でした。

 それはさておき、以前から、Pythonを勉強したいなぁ、などと思っていました。
 具体的にはfastqファイルやSAMファイルを開いて中身をいじるものを作れる程度にはなりたいなぁ、などと。

 さて、プログラミングを学習する「Jankiメソッド」というものがあるのだそうです。

プログラミングの学習を劇的に効率化する「Janki」メソッド

 以前からこのメソッドのことはたまに見かけていたのですが、せっかくですので、このJankiメソッドで本当に「劇的に効率化」してプログラミングを勉強できるのか、試してみようかな、などと。

 仕事と並行しながらなのでちょくちょくやっていく感じになりそうですが、とりあえず決意表明ということで準備の段階でブログに書いてみます。
 つまり途中で挫折したら更新がストップなのでまるわかり。ひー。

 さて、リンク先には以下のように書いてあります。

Kinsella氏はこのアプローチを「Jankiメソッド」と呼んでいます。以前にライフハッカーでも紹介した単語学習アプリ『Anki』を使った、学習をさらに効果的にするために作られたメソッドで、以下の8つのルールで構成されています。

何か新しいことを学んだ時はいつでも、カードに質問と回答を書き入れる。
Ankiを毎日使うこと。週末や休暇中も忘れずに。徹底的にコミットすること。
文脈の中で学習すること。「やりたいこと」を1つ選び、それを成し遂げるために必要な知識だけを集中して学ぶ。
実際に試してうまくいったものだけを単語帳に追加すること。
ミスをしたら必ず検証を行い、何が悪かったのかを明確にする。二度と同じミスが起きないようにするため。ミスの原因がわかったら新しくカードを作り、書き込んでおく。
大きなプロジェクトが終わったら、そのプロジェクトから学んだことをおさらいする。また、次に同様のプロジェクトに取り組むとしたら、どう改善できるかを自問する。
間違っているカード、古くなったカード、思い出せないカード、未完成のカード、不必要なカードはすべて削除するか修正する。また、残ったカードもより理解しやすい内容に書き直す。
他人が書いたコードを読むこと。アルゴリズムやアーキテクチャーなど何か参考になりそうなものを見つけたら、新しいカードを作成して書き留めておく。コードも書き込んでおく。

 ……という訳で「Ankiを使う」のが何よりも第一条件なようですが、そもそも当方はこのAnkiも使ったことがなかったりします。という訳でまずは導入してみる。

 まずは、こちらのサイトを参考にして簡単な使い方やインストールの方法などを確認してみる。

はじめてのAnki – まず使ってみる

 なるほどなるほど、と。

 公式サイトでソフトをダウンロード。インストールしてみます。

 普通に流れに沿ってインストール。無事起動。

Anki

 既に他の方が作成した単語帳等を導入する機能もあるとのことなので、せっかくなのでDuoの単語帳などを導入してみる。

 その上で、同期機能を使うためにankiwebにアカウントを作成。

 android用のankidroid等もそれぞれインストール。同期できることを確認。(例えばwindows版の場合、上の画像の右上の丸っこいボタンを押せば同期出来ます。)

 ……これで、一応下準備は出来た、となるのでしょうか。

 まだ勉強自体に着手出来ていないという部分で色々と不安になる部分もあるのですが、まぁ、準備編ということで。

 ankin自体に慣れる為に、英単語とかで少しアプリを弄って遊んでみようかな、とも思っています。


SAM Formatのcigar列の読み方(samtoolsとか)

ここ数日、SAM/BAMファイルのcigar列の読み方で悩んでいて、色々と調べたりぐぐったり人に聞いたり、とやっておりました。
#というか、seqanswerとかでもその手のやりとりがあったりして、結構悩んでいる人は居るのだなぁ、とか思ったり。

正直ちゃんと完全に理解できたかどうか自信が無い部分もあるのですが、一応今の段階で調べたことをメモっておきたいと思います。

とにもかくにもマニュアルを見てみる。

https://samtools.github.io/hts-specs/SAMv1.pdf

5ページ目を見てみます。

M 0 alignment match (can be a sequence match or mismatch)
I 1 insertion to the reference
D 2 deletion from the reference
N 3 skipped region from the reference
S 4 soft clipping (clipped sequences present in SEQ)
H 5 hard clipping (clipped sequences NOT present in SEQ)
P 6 padding (silent deletion from padded reference)
= 7 sequence match
X 8 sequence mismatch

このそれぞれが分かればいい、と。

ちなみにマニュアルの1ページ目にはexampleが載っています。これらを見比べていくことにしましょう。

sam_format_manual_pdf_capture2

https://samtools.github.io/hts-specs/SAMv1.pdfよりキャプチャ)

M 0 alignment match (can be a sequence match or mismatch)

“alignment matchとsequence match or mismatch”の違いでいきなり混乱しました。結論としては、alignment matchというのは参照配列にリードを張り付けたよ、ということ意味するだけで、その中身の個々の塩基がmatchしているかどうかは書いていないよ、ということらしく。

現に、exampleの+r003ですが、

参照配列:ATGTTAGATAA

+r003:gcctaAGCTAA

となっていて、これが5S6Mとなっています。
5Sの部分はあと回しにして6Mですが、参照配列はAGATAA、r003はAGCTAAで中身が微妙に異なっています。
おそらくこの6Mは、2=1X3=とも書ける…のかな?
とある人に聞いた限りでは、そもそもxと=は(その人の経験では)あまり見ない、とも言っていたのですが。

I 1 insertion to the reference
D 2 deletion from the reference

IとDはでそれぞれ挿入と欠失、あわせてインデルですね。これは見たまんまなのでまぁ、わかります。

N 3 skipped region from the reference

これが地味に悩みました。skipって、deletionと何が違うの? って。

でもって、ちゃんとマニュアルに補足が。

For mRNA-to-genome alignment, an N operation represents an intron. For other types of alignments,
the interpretation of N is not defined.

要は、mRNAのデータならば、intronである、と。他の場合はマニュアルでは定義されていないのでデータが出てこない限りは考えなくていい、と。
なるほどなるほど。

さて、次。

S 4 soft clipping (clipped sequences present in SEQ)
H 5 hard clipping (clipped sequences NOT present in SEQ)

ここも躓きました。
知ってる人には当たり前のネタなのでしょうが、そもそもソフトクリップとかハードクリップとかって何ぞ? と。

結論としては、soft clip、hard clip共に、貼付けられたリードのうち、レファレンスには張り付かない部分と判断された両端の部分を指す、らしく。
そのうち、SAMファイル上に情報が明示されているものがsoft clip、そもそも何が張り付いていないのか良くわからないのがhard clip、と。

日本語で解説を書いてらっしゃる方もいらっしゃいました。

http://qiita.com/usuyama/items/2338cb7f75aa9407a1c2

Soft clipはsequenceの項に含まれているがalignしなかったもの、hard clipはalignせずsequenceの項にも含まれていない部分を指す。soft clipped readsはIGVで見るとミスマッチが連なって見える。

上記サイトのIGVの画像のリンク先は見つからなかったので、後日自分でも確認できたらブログにUPでもしたいと思います。

ちなみにマニュアルのPDFには、

H can only be present as the first and/or last operation.
S may only have H operations between them and the ends of the CIGAR string

とありました。ハードクリップーソフトクリップーリード張り付きーソフトクリップーハードクリップ、という並びもありうる、ということかな?

さて、ちなみにここですが、ちょっと混乱したのが、chimeric readという言葉でした。先ほど転載したリード例の図の中に、

r003 is a chimeric read

とあり、これが何なのだろう、と。

一応、マニュアルの中に

Chimeric alignment An alignment of a read that cannot be represented as a linear alignment. A chimeric
alignment is represented as a set of linear alignments that do not have large overlaps. Typically, one
of the linear alignments in a chimeric alignment is considered the “representative” alignment, and the
others are called “supplementary” and are distinguished by the supplementary alignment flag.

などとあり、ああ、何か違った配列がひっついたものなんだね、だからソフトクリップとかになるんだね、というのは分かるのですが、ちょっとすっきりしなかったというか。いわゆるキメラ遺伝子(chimeric gene)とは違うのかな? とか。

biostarsにも似たようなやりとりがあったり、と。

https://www.biostars.org/p/116201/

で、上記記事を見てみたり、あと人に聞いたりして自分なりに把握したのは、chimeric readとは、いわゆるfusion geneみたいな、実際の配列上に出てくる融合遺伝子やその他の変異だけでなく、pcrのエラーとかで出てくるものも含む、ということ。
だから、chimeric readとは実際の遺伝子以外の場合もありうる、ということかな、と。なるほどなるほど。

さて、最後にpaddingです。

P 6 padding (silent deletion from padded reference)

これも混乱しました。というか混乱してばっかですね。”silent deletion from padded reference”とあり、またマニュアルの例の図(002のリード)張り付いたリードから何か欠失が起こっている、ということを意味するのかな、というのは何となくわかったのですが、あまり知らない話だったので実感がわかなかった、というか。

で、いろいろググって、以下のような記述にたどり着きました。

http://davetang.org/wiki/tiki-index.php?page=SAM

Padded alignment is always produced by de novo assemblers and is important for an alignment viewer to display the alignment properly. To store padded alignment, we introduce operation ‘P’ which can be considered as a silent deletion from padded reference sequence.

なるほど、de novoメインの話なんですね。
リードをどう読むか、ということを含めて一応納得。

=とXについてはさっきやりましたね。

という訳でこれで一通り理解した、ということになったかな、と。

自分なりにいちおうスッキリ、という感じなのでした。

さて、まとめます。

M 参照配列に張り付いたリード。ただし、個々の塩基が参照配列と同じかどうかは感知しない。
I 挿入。
D 欠失。
N 間が飛んでいる。mRNAではイントロンがメイン。
S ソフトクリップ。張り付いていない端っこのリード。何が張り付いていないのかは明記されている。
H ハードクリップ。張り付いていない端っこのリード。何が張り付いていないのかは不明。
P padding。張り付いたリードの側で何かの欠失が起こっている。de novoがメイン?
= 参照配列に張り付いたリードのうち、参照配列と同じ塩基。
X 参照配列に張り付いたリードのうち、参照配列とは違う塩基。

……ふぅ。とりあえずスッキリしました。また間違い等があった場合は修正していきたいと思います。

※その他、参考にさせて頂いたページ

The Sequence Alignment/Map format and SAMtools

http://crusade1096.web.fc2.com/sam.html

http://seqanswers.com/forums/showthread.php?t=4882

SAM形式中のInDel表記について

SAM形式中のTLEN(ISIZE)の例外について


Dropboxで共有されないファイルがある時にまず最初に確認すべきこと

 dropbox上にアップロードした筈なのに、他のPCでダウンロードされないファイルがあることに気づきました。

 具体的には、Ubuntu上で作成したファイルを共有して、いざWindows上で使おうと思ったら見つからない、と。

 で、検索してみるとdropboxのサイトにこんなページが。

https://www.dropbox.com/ja/help/145

ファイルが正確に同期されていることを確認するには、コンピュータがインターネットに接続していること、そして同じ Dropbox アカウントにリンクされていることを確認してください。コンピュータが同期しても、ファイルが特定のオペレーティング システムで表示されない場合は、ファイルに何らかの問題がある可能性があります。

オペレーティング システム間で問題が発生するのは稀なことではありません。その場合、Dropbox デスクトップ アプリケーションは、そうした整合性に関する問題を調査し、その修正に努めます。修正が不可能な場合、ファイルはウェブサイトで同期されますが、互換性のないオペレーティング システム間では適切に表示されなかったり正確に機能しない場合があります。

同期エラーが生じる可能性のあるファイルを確認するには、Dropbox ウェブサイトにログインし、Dropbox の不良ファイル チェック ツールにアクセスしてください。

 ほぅほぅ、と。

 で、そこにある「不良ファイルを確認する」をクリックしてみます。

 そうすると、

「お客様のアカウントを分析しています。お待ちください…」

という表示が出て、しばらく待たされます。

dropbox1

 そして、出てきました。

 なんかこう、ずらずらと大量に

「ファイル名に無効な文字が含まれています」
「ファイル名に無効な文字が含まれています」
「ファイル名に無効な文字が含まれています」
「ファイル名に無効な文字が含まれています」
「ファイル名に無効な文字が含まれています」
「ファイル名に無効な文字が含まれています」

 と……。

err1

 で、結論としては、Ubuntuで作成したキャプチャファイルが、標準で「:」セミコロンを使っていたのが原因でした。ubuntuの標準のスクリーンキャプチャの出力ファイル名が、標準だと「Screenshot_from_20xx-xx-xx xx:xx:xx.png」となるようで、windowsではセミコロンの使用したファイルはエラーになる為、共有されなかった模様。

ちなみに、先ほどのページの下の方には、「上級ユーザー向け」という項目があり、共有されない場合について大量に事例が列挙されています。とかく、妙な形式にはしない方が良い、ということらしく。

 それと、

Linux で 1 万件以上のフォルダを監視する

Linux 版の Dropbox デスクトップ アプリケーションは、デフォルト設定により 1 万件以上のフォルダを監視することはできません。制限数を超えた場合は監視されないため、同期中に無視されます。簡単な回避策として、まずターミナルを開き次を入力してください:

echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p
このコマンドでシステムに 10 万件までのフォルダを監視するように指示することができます。コマンドを入力しパスワードを入力したら、すぐに Dropbox が同期を再開します。

 という部分にはちょっと気を付けたいですね。基本だと1万件以上はダメなのかー。

 とかくまぁ、共有されないと思ったら、とかくまず、
https://www.dropbox.com/ja/help/145
のリンク先の「不良ファイルを確認する」をクリックしてみるのが良いかと思います。

 ……というか、特に共有されていないファイルは無いと思っていても、たまには覗いてみると良いかもです。

 現に私は、自分でも気づいていなかった共有されていないファイルをいくつか見つけました。危ないあぶない…。

 とかく、そんなdropboxネタなのでした。


プリンタードライバー(Fuji Xerox)をUbuntuに入れる(プリンターのつなぎ方)

ubuntuの再インストールにあわせて富士ゼロックスのプリンタドライバを突っ込み直したので、やりかたを一応メモ。

ドライバページ
http://www.fujixerox.co.jp/download/docuprint/download/p450d/linux_ubun64/

 ドライバページを開きます。
 接続したいプリンターと、対応するOSがちゃんと記載されていることを確認した上で、fxlinuxprint_1.1.1-1_amd64.debをダウンロード。
 そして、そのままそのファイルをソフトウェアセンター等で開き、インストール処理をします。

 これで、ドライバの準備は完了。

 その後、システム設定から「印刷」(Ubuntu12.04の場合)を開き、追加ボタンを押します。
 もし登録するのがネットワークプリンターの場合は、「ネットワーク」から登録したいプリンターを選択。

 さて、後は適当にやっていけば良い感じなのですが、ちょっと注意が。
 プリンターを選択した後、対応するドライバーを選ぶことになるんですが、富士ゼロックスの場合、

ドライバ表示

 この通り、「FX」が対応するドライバーになります。
 FujizeroXだからFXってのは良くわかるのですが、そのままの名前ではないので一応注意というか。
 まぁ、上の”fxlinuxprint_1.1.1-1_amd64.deb”もちゃんと”fx”にはなっている訳ですが…。

 というわけでこの”FX”を選ぶとこんな画面に。

fx

 あとはそのまま適当に登録すればOK。

 一応テストページが印刷できるので、ちゃんと繋げているかどうかもわかります。

 恐らく、他のメーカーのプリンターも似たようなやりかたでできるんじゃないかと。
 Ubuntuの標準ドライバもあるようなので、もし対応するドライバが無い場合はそっちも試しみても良いのかもしれません。


現状とか雑記

 こんにちは。

 前回の投稿から大分時間がたってしまっていますが、色々と仕事をしていた関係でやっと今日、再インストール関連をいじる余裕が出てきました。

 という訳でそのあたりの作業も再開してみた訳ですが、Ubuntu12.04もHMEアップデート関連でいろいろと酷い目にもあったし、気が付いたらUbuntu15.04も出てたのでせっかくなのでそっちでやってみるか! とか気合を入れてインストールしようとした訳ですね。

 ……でも、なぜかインストール途中で止まるorz

 あまりこのあたりでうだうだともしていられないので、とりあえず仕事自体は大人しくUbuntu12.04OEMで再構築してそっちでやっていくことにしました…orz

 15.04も適当に試していきたいとは思いますが、とかくそんな感じで12.04からはまだ離れられなさそうとかそんな話なのでした。


office365のoutlookで自動で署名が追加されない(解決?)

地味に混乱したトラブルということで。
どっちかというと雑記か。

ofice365のoutlookを、ubuntu-chrome-webアプリという形で使用しているのですが、署名を作成しても、その後、しばらく自動挿入も手動挿入も出来ませんでした。

office365 署名、でググろうとすると「office365 署名 挿入できない」というサジェストが出る始末。
で、検索してみると

http://community.office365.com/ja-jp/f/333/t/251148.aspx

という感じに「署名を挿入することが出来ない」関連の質問とか出てくる。

ただ、よく見ると、

OWA で手動での署名挿入が出来ない問題につきまして、本日時点で大多数のテナントにて修正の展開が完了いたしました。

とかあるんですよね。ちなみにこれ、投稿日時(返信日)が「2014/07/11 3:59 午前」ってなってます。昨年8月で一応解決していることになってるのか。

で、結局、一回outlookから出て入り直す、とやったところで、挿入できるようになりました。

なんというか、自動解決というか。

そんな雑記なのでした。


“Warning: the RSA host key”の警告を無視したら地味に被害があった件

$ssh なんちゃら、とどこぞにログインしようとしたら、

Warning: the RSA host key for なんちゃら differs from the key for the IP address 'なんちゃら'
Offending key for IP in ほにゃらら/.ssh/known_hosts:8
Matching host key in ほにゃらら/.ssh/known_hosts:11
Are you sure you want to continue connecting (yes/no)?

とか言われました。

で、以前似たようなことがあって何かぐぐって対処もしたんだよなぁと思いつつ、ちょっと急いでたのでYES!YES!YES!と無視してそのまま作業を継続。
具体的には、大量のファイルをscpしたかったので、一回ログアウトしてから、scp -r なんちゃらとか入力。
で、scpの時も同様のwarningがでて、OKOK、と無視してそのままコピーとかやってた訳です。

しばらくは普通に動いてたので、安心して放っておいたら……。

なんかしばらく時間がたって、そろそろ完了してるかなー、と思って確認したら、なんかエラーメッセージが出て、途中でコピーが止まってる。

(アカン)

と思いましたね、ええ。

具体的なエラーメッセージをコピっていなかったのが惜しいところなのですが、「RSAがなんちゃらだけどこれでいいの? 何か入力して?」みたいなメッセージだったかと思います。

しかも、その後うんともすんとも言わなくなってしまい、当然何かのコマンドやパスの入力とかもできず、挙句の果てにCTRL-Zも効かないのでやむなくterminal window自体を切るという羽目になったのでした。

やっぱこの手の警告メッセージはちゃんと早めに対処しないと、という教訓ですね。

というわけで、多分以前似たようなことをやったなぁと思いつつ、念の為、ぐぐって、

http://qiita.com/grgrjnjn/items/8ca33b64ea0406e12938

を見てみる。

保存している接続先サーバの情報(フィンガープリント)を削除してしまえば、新規接続となるためエラーを回避できる。そのコマンドは、ssh-keygen -R hostnameで行うのが正解。.oldを付けてバックアプも自動で作られる。

(中略)

実態は~/.ssh/known_hostsファイルなので、直接編集しても良い。エラーとなったサーバ名(またはIPアドレス)から始まる行を1行削除するだけ。

……とのことです。

ただ、微妙にエラーメッセージが違うんですよね。
念の為もう少し検索してみる。

https://lists.ubuntu.com/archives/ubuntu-jp/2009-March/001653.html

> Offending key for IP in /home/inaba/.ssh/known_hosts:2
> Matching host key in /home/inaba/.ssh/known_hosts:3
から、当該のIPアドレスのエントリが known_hostsファイルに二つ存在していますね

2行めと3行めですね。

sudo vi known_hosts にて ファイルを開いて、
2行めを削除するとなおりますよ

なるほど!

というか以前に対処した時もこちらを拝見して参考にさせて頂いた気がします。

……という訳でknown_hostsファイルを開いてみました。

大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)
大量の暗号化された文章(改行)

こんな感じのファイルが…。

どうやら、これが暗号化されている、ということらしいです。

とりあえず、

Offending key for IP in なんちゃら

で示された行を削除すれば良いということのようなので、その通りに該当の行を削除しました。
#viは慣れてないのでemacsで、ですが……。

その後、無事にエラー無しで一括scpも出来たのでした。やれやれ。


wordpressのパーマリンク形式を後から変更する

 パーマリンク(個々の記事へのリンクurl)の形式を変更しました。

http://wpjisaku.com/wordpress-permalink/

 こちらなどを拝見して、ああ、変えなきゃいけないんだ、と今更気づいたもので。

 といっても、少ないながらも記事はいくつか投稿済みということで、

上記記事や、

http://presentnote.com/redirect-permalink/

を参考にPermalink Redirectをインストールすることで、既存記事へのパーマリンクをリダイレクトさせるというやり方を取りました。

※ちなみに当然のことならが、ご自分で行われる時はあくまでご自身のご判断で作業なさって下さい。

具体的な手順:

  1. Permalink Redirect WordPress Pluginをダウンロード。
  2. http://scott.yang.id.au/pages/permalink-redirect.htmlからファイルをダウンロードします。
    直接ダウンロードか、もしくはzip解凍でlsy_permalink_redirect.phpをダウンロード。

  3. lsy_permalink_redirect.phpを編集。
  4. http://presentnote.com/redirect-permalink/を見習って、

    405行目あたりの(上記記事では405行目となっていますが、私のエディタでは406行目でした)

    if (!function_exists('wp_redirect')) {
    function wp_redirect($location, $status=301) {
    global $is_IIS;

    の部分を302→301に変更。

    302は一時的なリダイレクト。301は恒久的なリダイレクトです。

    とのことです。

  5. lsy_permalink_redirect.phpをアップロード。
  6.  wordpressをインストールしたフォルダの下の、

    /wp-content/plugins/
    フォルダにこのファイルをアップロード。

    ※ちなみにロリポップの場合、ブラウザの管理画面(ユーザー専用ページ)から「ロリポップFTP」に入ってブラウザ上で(「ファイル形式:自動」にて)アップロードしてしまうのがお手軽だと思います。

  7. permalink_redirectをインストール。
  8. wordpressの管理画面にログイン。インストール済みプラグイン一覧を開くと
    permalink_redirectが登録されているので、有効化します。

    pm1

  9. パーマリンク変更の設定
  10.  普通にパーマリンクの設定を変更します。
     設定項目から「パーマリンク設定」の「共通設定」ですね。

    ※尚、この作業の前に、変更前の記事のURLを、一つくらいコピペでとっておくといいかもです。後でちゃんとリダイレクトしているか確認したいので。

    pm2

     シンプルなタイトル入力形式に変えたいので、「カスタム構造」を選択して、/%postname%/と入れます。

  11. permalink_redirectにてリダイレクト設定
  12.  設定からpermalink_redirectを開きます。

     私はデフォルトの形式からタイトル入力の形式に変更したかったので、下記赤枠の部分に、このように、

    post_id

    %post_id%

     と入力します。

    ※ここの部分(%post_id%という文字列)が地味にわからず、ネットをちょっとさまよいました。
    先ほどの「共通設定」のところを見ればわかる通り、単に「p=123」とか書いてあるだけで、それが本来はどういう形式なのか、というのが分からなかったもので。
    という訳で

    http://www.shaco-o.com/wordpress-permalink

    にたどり着き、やっと正解を教えて頂きました。本来はマニュアルかどっかに書いてあるんでしょうけど……。

    ※ちなみに、上記サイトによれば、環境によっては.htaccessのパーミッション編集等も必要なようですが、とりあえず私の環境ではそれはせずに済みました。

  13. 旧URLを入力してみて、リダイレクトされてることを確認。
  14.  先ほど書いたように保存しておいたURLを入力してみて、ちゃんと記事に飛ぶか確認します。

  15. 手動で今までの記事のタイトルを変えてゆく。
  16. ※ここが地味に一番面倒でした。

     そもそも私は、記事のURLを個別入力の形式に変えたかったのですね。

     例えばこの記事は、
    http://linux-bio.com/permalink-change/

     という風に変えたかった。
     今後記事を作成する場合は、同様の形でurlを手動で決めていけばよいのですが、
    では、今までの記事はどうなっているのか、という。

     実は、このパーマリンク設定をすると、今までの記事は、日本語タイトルのままのURLになってしまいます。
     この記事で言えば、

    http://linux-bio.com/wordpressのパーマリンク形式を後から変更する/

     ……という風に。

     これはどうにもすわりが悪い、ということで変えなければいけないわけですが。

    permalink-1

     結局手動でこんな感じにひとつづつポチポチやってURLを入力していきました……。

     私は投稿した記事数がまだ少ないので、それでも大した手間ではなかったともいえますが、これが、大量の記事だったりするともう無理だなぁ、などと。

    #いや、他にもやりようはあるのかも知れませんが……。

 とかく、そういう訳でURL形式を変更しました。
 プラグインとかの表示では、少ないながらも、はてぶやらツイッターでのつぶやきやら頂いていたようなのですが、それらもみんな数字ゼロに戻りました。
 まぁ、残念ではありますが、とかく早めにやっておいた方が、ということで。

 


Ubuntu12.04(OEM版)でHMEのサポートが終わるよ、と警告を受けたので更新したら色々とハマった

Ubuntuのシステムを更新していたら、以下のようなメッセージが出ていることに気づきました。

アップデートマネージャー_057

最新に更新したのでおかしいなぁ、と思って More infoを押してみる。

New important security and hardware support is available

ふうむ、ということでとりあえず関連情報を色々とぐぐってみました。

http://qiita.com/chromabox/items/4d93972d05d738c0f414

つい最近ですが、私も12.04のパッケージをアップデートしているとサポートがそろそろ切れるからなんとかしてくれ的なメッセージでてくることがありました。
ん?12.04ってまだサポート切れてないよね??と思って調べてみると、どうやらカーネルと周辺のドライバのサポートが切れて14.04のカーネルと同じにするということみたいでした。
http://wiki.ubuntu.com/1204_HWE_EOL
そりゃメンテする側からしたらカーネルとかあの辺りは一緒にできるならしたほうがサポートしやすいよね。
上記ページをよく読むとどうやら、このままではカーネルとドライバのサポートが切れてカーネルとドライバのアップデートが提供されない模様。
これはあまりよろしくないということで、取り急ぎ書いてあったコマンドで確認。

……ということらしいのでということらしいので上記のサイトを見習って端末にてコマンドで確認。

$ hwe-support-status --verbose

Dear Ubuntu user, your current Hardware Enablement Stack (HWE) is going out of support
on 2015-04-30. After this date, security updates for critical parts of your system
will no longer be available. We recommend you upgrade your system. If you experience
any issue after this upgrade, please post a message on askubuntu.com using the
tag 'oem' (you can use this link: http://www.askubuntu.com/questions/ask?tags=oem).

For more information, please see:
http://wiki.ubuntu.com/1204_HWE_EOL_OEM

グラフィックスタックがインストールされています。サポートされている
(あるいはサポートが終了した)状態へのアップグレードは 2014-07-16
以降に提供され、Dashから'update-manager'を実行すると起動でき
ます。

……なんとなくわかりました。

色々検索して

http://askubuntu.com/questions/604692/1204-hwe-eol-oem

にたどり着く。

You just need to upgrade your system by using the “Update manager”, it could be found in your dash:

微妙に表示されてる画像と出てる画像が違うような。
まぁ結局は「アップグレード」を押すんでしょうけれども。

ただ、上記qiita.comのサイトで言及されているURLと、自分がMore infoで見たページのURLは微妙に違っています。
自分の見たURLは、
https://wiki.ubuntu.com/1204_HWE_EOL_OEM

ってなってる。どうやら自分が使っているこのマシンのubuntuがOEM版の為、微妙に異なっている模様。

見比べてみる。

http://wiki.ubuntu.com/1204_HWE_EOL

And why should I care?
Starting Aug 8, 2014 systems running 12.04.2 HWE, 12.04.3 HWE, or 12.04.4 HWE will no longer receive software updates for the kernel and, if you’re running it, the graphics stack.

https://wiki.ubuntu.com/1204_HWE_EOL_OEM

Why Should I Care ?
As of August 8, 2014, systems running stock Ubuntu 12.04.2, 12.04.3, or 12.04.4 no longer receive software updates for the kernel and the graphics stack from the standard Ubuntu PPAs.

As an exception, Canonical’s Professional Engineering Services team has been providing security updates as an extended support service for PCs from our OEM partners which were pre-loaded with Ubuntu 12.04.2 or 12.04.4. This extended support will no longer be available after April 30, 2015. Therefore, we strongly recommend you upgrade to the 12.04.5 HWE stack which will continue to receive security updates until April 2017. To upgrade to 12.04.05 simply follow the steps when prompted by the Update Manager.

 どうやら、OEM版の場合、「ホントは2014年8月8日までだけど、OEMパートナーのOSには、例外としてサポートしてあげてたよ、でもそれも2015年の4月30日までだから、 12.04.5 HWE にアップデートすることを強くおすすめするよ」ってことらしく。


(※ちなみにあまりこの辺りのことに詳しくない私には、端末で出てきた

グラフィックスタックがインストールされています。サポートされている
(あるいはサポートが終了した)状態へのアップグレードは 2014-07-16
以降に提供され、Dashから'update-manager'を実行すると起動でき
ます。

 の部分もちゃんとわかっていなかったりします。
 
ぐぐったところ、

https://translations.launchpad.net/ubuntu/precise/+source/update-manager/+pots/update-manager/ja/+filter?person=hito&direction=backwards&start=150

にて、

402.
There is a graphics stack installed on this system. An upgrade to a supported (or longer supported) configuration will become available on %(date)s and can be invoked by running ‘update-manager’ in the Dash.
2014-08-07
グラフィックスタックがインストールされています。サポートされている (あるいはサポートが終了した)状態へのアップグレードは %(date)s 以降に提供され、Dashから’update-manager’を実行すると起動でき ます。

 という部分があり、この文章の和訳だ、ということまではとりあえず分かったのですが……。
 まぁとりあえずここの部分はさておきます。)

 とかく、このままではやっぱまずいのかな、ということでアップデートをしてみます。

※いや、ここからが大変だった訳ですが……。

 とりあえず、アップデートをクリック。

認証_061

 ちなみに詳細を確認するとこんな感じ。

認証

 という訳で、認証してみます。

 なんかいつもみたいな変更過程のメッセージとか一切無くて不安なのですが、画面の右端のちっちゃなゲージで、一応進行状態が確認出来るのでそれでしばらく辛抱強く待ちます。

 そのうち、再起動を促すメッセージが。

アップデートマネージャー

 YES!YES!YES!YES!YES!

 と景気良く了解してみたまでは良かったのですが……。

 再起動しない。

 うん、焦りましたし、青ざめましたね!

 その時点で初めてちゃんとバックアップも取っていなかったと気づいたダメダメっぷりで。
(※一応ubuntu標準のバックアップは自動でかかってましたが、後で確認したら6日前までしか取れていませんでした……)

 とかく、何かグラフィックドライバが悪さしているのかも、と思って複数台繋いでいたモニタを一台だけにする→まだダメ
 外付けのHDDも外してみる→OK

 という訳で、色々外してやっと再起動を確認。そこに戻るまで随分と時間がかかってしまいました……。

(※ちなみにその後、外付けHDDをもう一度再接続してみると、そこまではOKで、モニターまで残すと起動しない、という謎な状況に。)

 とかく、一応結果的にこうなります。

アップデートマネージャー

 お疲れ様でした。

 ……で、終わりたいところなのですが、結局私はその後、データのバックアップを取り直すなどしてから、再インストールをし直すことになりました。
 なんだか動作がどうにも不安定だし、複数モニタは結局繋がらない。

 上のqiita.comにも言及があった、nVidiaのプロプラエリタリドライバ関連が悪さをしているのだろうと思いますが、そこのページにあった

$ sudo apt-get install -V libglapi-mesa-lts-trusty libgl1-mesa-glx-lts-trusty xserver-xorg-lts-trusty xserver-xorg-input-all-lts-trusty xserver-xorg-video-all-lts-trusty libgl1-mesa-dri-lts-trusty x11-xserver-utils-lts-trusty libglapi-mesa-lts-trusty:i386 libgl1-mesa-dri-lts-trusty:i386 libgl1-mesa-glx-lts-trusty:i386 libgles2-mesa-lts-trusty libglapi-mesa-lts-trusty mesa-vdpau-drivers-lts-trusty

 等を試してみると、それこそ、本当に起動しなくなる、というオチまでついてしまいました、という。

 何にせよ、OEM版というのは色々とクセがある、ということなのかも知れません。

 という訳で、結局再インストールして一から元に戻すという結果に相成ったのでしたorz

 後日、復旧したUbuntu上で環境を再構築しようかな、といったところです。

 折角ですので、そのうちにその辺りの過程も適当に書いて行こうかなぁ、などと思っています。