2013年6月30日 (日)

sedコマンドでの上書き保存の罠

ふとした弾みで、
AndroidのLauncherでも動かすか・・
と考えてしまった。

しかし、今のNexusくんには、
すでに同じ名前のパッケージ名の
ランチャーが入ってる。

そこで、ファイルの中の
com.android.launcherやら、
com.android.launcher2やらを
書き換える必要がでてきた。

ファイルが多いので、面倒!


ってことで、いろいろ見てると、
”sed”という味方がいると判明。

使い方は、「man sed」でも、見ると、
viのexコマンドと同じなので、
なんとなくわかった。

sed "s/com.android.launcher/jp.melodie.launcher/" Workspace.java

なんか出てるから大丈夫だろう。

そして、上書きするから、
リダイレクションでいいかなと、

sed "s/com.android.launcher/jp.melodie.launcher/" Workspace.java > Workspace.java


が・・・。
Workspace.javaが壊れた。。

Linuxシェルでファイルの中身の一部を書き換えるsedでも、
同じ例が出てたが、
環境が違うのか、だめっぽい。

ストリームエディタが元らしいので、
読みながら書いたら、壊れるのは、
当然かもと思いながら、
ファイル名を変えるシェルを組んで、
あとで戻す処理をしてしまった。

cat Workspace.java | sed "s/com.android.launcher/jp.melodie.launcher/" > Workspace.java
ならいいのかもなぁ

シェルはいつもながら、
シェル入門のお世話になった。

#!/sbin/bash
filelist=$(find launcher -type f)
for file in $filelist
do
  output=${filelist#launcher}
  output=launcher2$output
  sed "s/com.android.launcher/jp.melodie.launcher" > $output
done
あとは、フォルダをごっそり入れ替える。

いろいろ他にも合ったが、
ビルド通ったので、一安心。


最後に、
sedコマンドに"-i"オプションがあるらしい。
これで上書き保存ができるらしい・・(泣)
ブログ書いてる最中に見つかって、
動揺が隠せないが・・。


リンク:
SEDを使ったテキスト書き換え処理を覚えよう
シェル入門
sedで上書き置換ができたらいいな、と

| | コメント (2) | トラックバック (0)

2011年2月23日 (水)

UbuntuのLiveCD作成

別の場所で、
Androidのビルド環境構築しようと、
Ubuntuの10.04のイメージを
ダウンロードしてみた。

そして、ふと思った。
専用LiveCDを作ってた人がいたような。


ってことで、
Android環境用のUbuntuを作ったけど、
作り方のほうが興味があったので、
はまったところを書いてみる。

参考にしたのは、
Adakoda様の
「[Android] ソースビルド環境を収録したUbuntuライブCDを作成する!」


基本的には、
手順のとおりやれば、大丈夫。

つまったのは、
Ubuntu Customization Kit (UCK)の設定。
ダウンロードで、.tar.gzを取得して、
uck-guiを直接キックしてた。

debian系以外だと、こっちのほうだと思うけど、
.debがあるので、あほだったと反省。


そして、dpkgしても、失敗。
依存関係の問題だったらしい。
(起動できて、iso作るときに、
 失敗するのでたち悪い)

dpkg --install xx.deb したあとに、
dpkg -e xx.deb してみた。

これで、Synapticで壊れた関係と出るので、
修復してやれば、OKだった。


いままで、Synapticに頼ったつけだろうが、
ちょろちょろと、
Ubuntuの知識増えるのはうれしかったりする。


一度LiveCD作ってしまえば、
あとで楽かなーと思ったけど、
Ubuntuってバージョンアップ多いから、
いつまで使えるのかなぁ。

ネットつなげない環境で、
リポジトリの代わりになるなら、
意味あるけど、
その辺どうなんだろうなぁ。


リンク:
「[Android] ソースビルド環境を収録したUbuntuライブCDを作成する!」

| | コメント (0) | トラックバック (0)

2011年1月25日 (火)

ディスプレイドライバ割当

ノートパソコンを
新しくしてほぼ1年かな。
やっと、
NVidiaのドライバが使えるようになった。

パソコンは、
VaioのVPCCW28FJ。
(Ubuntu10.10[32bit])

長い戦いだった。。(汗)

ってことで、忘れないうちに対処方法を。
まず、Grubの値の変更。

パソコンのシリーズ的に、
起動時にディスプレイ情報がとれないみたいなので、
設定値を入れる必要があるらしい。

1./etc/default/grub を編集。
 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 
 の行があるけど、これに追加。
 GRUB_CMDLINE_LINUX_DEFAULT
  ="quiet splash nomodeset vmalloc=256m" 
 と変更。
2.Grubへ適用。
 ターミナルで、"sudo update-grub2"を入れて更新。
3.NVidiaドライバのダウンロード
 NVidiaの公式サイトにいって、
 型に合わせたものをダウンロード。
 フォーラムに最新版の型番に疑惑文が載ってたので、
 256.53を選択。
4.ドライバのインストール
 GNOMEが動いてるとだめっぽいので、
 Ctrl+Alt+F1とかで、
 GNOMEが無いモードへ変更。
 ダウンロードしたものを実行。
 →適当に選択する。
 途中で、xorg.confは自動更新してもらう。

こんな手順で、認識するようになったので、
かなり見た目よくなった。


念のため、トラブルシュート(未検証!)。
パターン1:起動後黒画面のまま(起動音する)
 起動オプションに、”vmalloc=256m"が足りない。
 →Grubの選択画面で、編集して起動する。
パターン2:起動後黒画面のまま(起動音しない)
 起動オプションに、"nomodeset"が足りない。
だめな場合:
 recoveryモードで、
 起動オプションに、"nomodeset"をつけて起動。
 xorg.conf から、
 Driver "nvidia"の行をコメントアウト。
 →nouveauが入ってれば、3D系使えない状態で動く。

とりあえず、動き出したので、
あれこれいじるのが怖いので、
いろいろ間違ってるかも。。

少しでも同じ境遇の人の救済になれば。。


リンク:
「Sony Vaio CW + Nvidia Drivers
 = Black screen on boot...」

  on Ubuntu Forums
Windows7 - Ubuntu10.04 Dual Boot環境構築
 by ♪をとサた☆様

| | コメント (0) | トラックバック (0)

2011年1月23日 (日)

sshの自動起動設定

前回わかってなかった、
デーモン(ssh)の自動起動の話。

そもそも、起動キックに、
sudo /etc/init.d/ssh start
とかやるのも、古いやり方だったみたい。

Ubuntuのどっかの段階で、
initプロセスがUpstartに、変わったみたいで、
コマンドに関しても、
Upstartに合わせたほうが正しいらしい。

なので、
sudo initctl start ssh
とかになるのかな。


イベント起動が売りらしく、
イベントを投げるコマンドという位置付けらしい。
そして、
起動とかの設定は、
/etc/init/ の中にあるみたい。

SSH用だと、
/etc/init/ssh.conf

自動起動の条件は、
start on 条件
の行になるらしい。

Ubuntuを使う上では、
Upstartもイメージぐらいは
つかまないとなぁ


ちなみに、同様の疑問が
Ubuntu日本語フォーラムにありました。
「ssh-serverを自動起動させたくないのですが??」

Upstartの前だと、
update-rc.d コマンドを利用したり、
サービス管理という意味だと、
sysv-rc-conf が使えるらしい。


リンク:
Ubuntu日本語フォーラム
sysv-rc.confのことは、「 SE奮闘記」さんの
「Ubuntuでサービス一覧表示
(chkconfigがないから)」

| | コメント (0) | トラックバック (0)

2011年1月16日 (日)

sshの設定

家に64-bitのビルド環境を
作ってしまった関係上、
ノートPCからも、
ビルド依頼したい欲求に。

ってことで、
SSHを導入して、遠隔アクセスしてみた。
(同じ家なので、動けばいいんだけど。。)

Telnet接続できればいいんだけど、
SSHという言葉にひかれたというか、
他の言葉を知らないだけ(汗)


基本的には、Ubuntu10.10(64bit)に、
synapticで、opensshを入れると動いた。

最初に、
/etc/init.d/ssh start
でキックしたけど、
その後は、再起動しても動いたままになってる。
(止める方法がわからないのだが。。)

鍵もRSAで作って、導入。
パスフレーズは無くていいやと、
鍵を作り直すとつながらなくなった。

いろいろ調べてみると、
バグで引っかかったので、
$SSH_AUTH_SOCKの上位フォルダから削除すると、
つながるようになった。
ここを参照にした。)

まだ設定まわり怖いので、
外からの運用はまだまだ先だなぁ。


リンク:
OpenSSH で SSH サーバー構築
 on 「自宅サーバー Debian/Ubuntu」

Ubuntuでsshdの設定をしてリモートから接続できるようにする
 on 「そ、そんなことないんだから! 」

ssh Agent admitted failure to sign using the key on big endian machines

| | コメント (2) | トラックバック (0)

2010年7月27日 (火)

yaffsなファイルシステム

yaffsと聞いて、
とりあえず、スルーパスしてた人生だが、
そろそろ無視できなくなってきた。

ハッカソンでもちらちら聞いてたし、
そもそもArmadillo-500fxに、
Android載せる際に、
init.rcに居座ってた。


そして、
マウントに使うファイル形式ぐらいしか
思ってなかった。
でも、実際は、
フラッシュデバイス用だった・・。

通りで見たこと無いわけだ。
そして、良くコメントアウトしろと書かれてるわけだ。
フラッシュ用だとわかっただけでも、
いろいろ想像できる範囲広がるなぁー。


それにしても、フラッシュ関係って、結構特殊なのね。
同じく、Armadillo500fxのkernelを2.6.32にあげようと、
(500は含まれてたので、軽い気持ちだったが、挫折)
いろいろ見てたとき、
MTDドライバなるものにぶち当たった。
これも、Memory Technology Deviceというらしく、
メモリ関係のものらしい。
Configファイルいじれば対応できたけど、
なかなかおもろいそうな仕組みに見えた。

※..Armadiilo君は、initプロセスで死亡中(汗)
 chrootする前なので、ソース取得で停止。

ぶち当たってると、いろいろつながるものねー。


リンク:
「Linux フラッシュ・ファイルシステムの徹底調査」by M. Tim Jones様

| | コメント (0) | トラックバック (0)

2010年5月11日 (火)

Ubuntu10.04にしてみた

Ubuntuの新バージョンが出たので、
早速アップデート。

。。とするのが、少し怖かったので、
古い奴をアップデート。
8.04からだったので、
3回アップデートしたけど、ほぼ安定。


ってことで、本番ノートPCに。
アップデート後(9.10→10.04)、動いたと思ったけど、
再起動したら、動かない!

10.04になってからか、
ブートローダにカーネルが2つあった。
ふるい奴だとどうにか動いたので、
Xの設定とかをいじいじ。

結局、9.10とほぼ変わらずかなぁ。
(UIは、変わりまくってるけど)
相変わらず、内臓無線LAN(AR9285)は調子悪い。
なので、引き続き、USBでの無線LANへ。
そして、nVidiaのドライバは、うまくいかず。


ビデオまわりは変わってるし、
パッケージもいろいろ変わってるので、
もしかしたら、治るかも。。と期待していよう。


とりあえず、
×ボタンが左に移動したのが
一番のインパクトかな(笑)

| | コメント (0) | トラックバック (0)

2010年3月13日 (土)

メタパッケージ

エディタを入れてみようと、
とりあえず、
Synaptic を実行。

vi は標準で入ってるので、
Emacsの導入。

普通に、Emacsで検索。


。。なんかたくさん(汗)
バージョン違いなのか、
Emacs22とEmacs23なるものがある。

よく見ると、Emascってもある。
Helpには、Metapackageなる文言が。。

今まで、結構使ってて、
見過ごしてただけだろうが、
今更になって気になってみた。

調べると、
シンボルリンクみたいなものらしい。
あるバージョンを示す便利な人。

Ubuntu日本公式に、
きちんとMetapackagesのページがあった。

まだまだ、
いろいろ知らないことが多いなぁ。


そして、viもコンパクト版だったらしい。
早めに気づいてよかった(笑)

| | コメント (0) | トラックバック (0)

2010年2月28日 (日)

Amarokでmp3再生ができない(Ubuntu9.10)

ノートパソコンの設定も一息ついたので、
音楽でもかけようと、Amarok起動。

そして、再生。


。。すると、すぐに曲が終わってしまう。

Ubuntuを8.10→9.04に上げた時を思い出す。
前回みたいに、
Amarok自体のバージョンはあがってないはず。
もちろん、
新規ノートなので、
mp3系のライブラリがないことに気づき、追加。

でも、改善しない。。


ぐーぐる先生に尋ねると、
運良く出くわした。

「libxine1-ffmpeg」が必要らしい。
(聞いたことがないライブラリだった)

ちなみに、
mp3関係は、「ubuntu-restricted-extras」
こっちは、Synapticで「mp3」と検索して、
記憶を頼りに入れていた。

Amarokは好きだったが、
毎回こんなんだろうか。。
(ネットラジオの数も減ってた)

他のに切り替えるべきなのかなぁ。

参考にしたページ:
「Ubuntu 9.10 でインストールしたソフト、設定一覧 」on retujou.comさま
「Ubuntu 9.10(Karmic Koala)でAmarokの音を出す」on BoozerBlog さま

| | コメント (0) | トラックバック (0)

2010年2月 3日 (水)

ノートパソコン交換難航中

ノートパソコンを新しくしてみたが、
設定に難航中。

買ったのは、再び、
SonyのVaioシリーズ。


同じ値段帯で、
Vaioシリーズだけ、
バッテリの駆動時間が長かった。

型番は、VPCCW28FJらしい。
元々のVaioと比べると、
メモリが大幅増強(512M→4G)なので、
期待大!!

ところが、
Ubuntu君がうまく動かない!
(9.10にしてみた)

いろいろやってみたが、
問題は、無線LANっぽい。
AR9285(Atheros Communications)が
ついてるのだが、
このドライバであるath9kが問題があるみたい。

おかげで、
ツールのインストールが
できなかったりと怪しい状況に。

改善方法とか
ネットであったが、
試したものは、完治しなかった。
なので、
USBで無線LANつなげて対処中。


無線LANごまかしたし、
どうにかなるかなぁ~(汗)

早めに移行したいな。

| | コメント (0) | トラックバック (0)