yumdownloader~何かと便利な yum-utils を使ってみる〜

yumのようなパッケージ管理ソフトウェアを使ってしまうと,その便利さに取りつかれてしまいます.


ソースコードからのインストールなら,ソースコードを /usr/local/src に保存しておく習慣がありますが,
yumを使っていると『構築時のRPMファイルを保存しておく』ことが疎かになりがちだなと感じていました.


そして,プログラム言語などバージョンを厳密にしていく必要のあるものは,神経質に保存しておく必要があると思うのです!!


以上が長い前置きで,今回は,『RPMを簡単に保存する』というコマンドを紹介します.

yum-utilsとは

名前から察する通り,yumに関するユーティリティ郡です.
インストールされていない場合は,yum-utilsパッケージをインストールします.

[root@ns1 ~]# yum install yum-utils


manからの抜粋なので英語ですが,ざっと以下のことができます.

debuginfo-install - install debuginfo packages and their dependencies
package-cleanup - manage package cleanup, duplicates, orphaned packages and outstanding dependency problems
repo-graph - outputs a full package dependency list in dot format
repo-rss - generates an RSS feed from one or more repositories
repoclosure - reads metadata of repositories, checks dependencies and displays list of unresolved dependencies
repodiff - takes two or more repositories, returns a list of added, removed or changed packages
repomanage - manages a directory of rpm packages, returns a list of newest or oldest packages in a directory
repoquery - query yum repositories and get additional information on the them
reposync - synchronize a remote yum repository to a local directory using yum to retrieve packages
repotrack - track packages and its dependencies and downloads them
yum-builddep - installs missing dependencies to build a specified package
yum-complete-transaction - finds incomplete or aborted yum transactions and attempts to complete them
yumdownloader - downloads packages from yum repositories including source RPMs

yumdownloaderとは

yum-utilsの中で(個人的に)一番使うコマンドです.使い方もとても簡単.

[user1@ns1 ~/rpms] $ /usr/bin/yumdownloader php
Loaded plugins: fastestmirror
php-5.1.6-34.el5_8.i386.rpm                                                                                | 2.3 MB     00:00
[user1@ns1 ~/rpms] $ ll
合計 2376
-rw-r--r-- 1 user1 user1 2424902  58 06:09 php-5.1.6-34.el5_8.i386.rpm


実際にインストールするわけではないので,一般ユーザ権限でも利用できるというのもストロングポイントですね.



私はいつもこんな感じで構築時のRPMをバックアップしていますという紹介でした.

「さくらのVPS」の新プラン乗り換え優遇施策手続きまとめ


お手軽にVPSをもてるという『さくらのVPS』が3月29日にリニューアルしました.
もともと契約していたユーザは利用料金1ヶ月無料という新プランへの乗り換え優遇があるというので,
いまさらながら重い腰をあげて契約をおこなったのでまとめておきます.*1


ひとつ注意事項!!
改めて優遇施策案内を読み返したら5月20日までに手続き完了しないといけないみたいです.
私のように後回しにしている方がいたら早めに手続きした方がいいと思います(乗り換えた方が得です).

手続きの手順

公式のPDF資料を簡単にまとめました.

  1. リニューアル後の『さくらのVPS』を契約する(旧プランとの関連性はないので好きなもので)
  2. 契約したプランがさくらインターネット側で入金確認完了になるまで待つ(これだけ時間かかる)
  3. 5月20日までに旧契約を解約する

以上の処理をおこなうことで,優遇を受けることができます.
思いのほか簡単なので,まだの人はサクッとやっちゃいましょう!!

そもそも乗り換えるべきなのか

結論から書くと,乗り換えるべきだと私は思います.


以下はさくらのVPSリニューアルについての公式アナウンスです.

「さくらのVPS」リニューアルのお知らせ(更新) | VPS(仮想専用サーバ)は「さくらのVPS」


こちらに書いてあることからすると,乗り換えをしなくてもハードウェアの増強はされるようです.
ただし,増強される内容が乗り換えをおこなった場合と比べると見劣りします.


例えば,さくらのVPS 1G(月額1,480円)を契約していた場合,メモリが1.2G(HDDは変わらず30GB)に増強されますが,
リニューアル後のプランでは同等額でメモリ2GBとHDD200GBになります.比べてみると,コストパフォーマンスは随分違いますね.


まとめると,以下のような動機を持っていない限りは乗り換えたほうが良さそうです.

  • それくらいのメリットなら移行する手間の方が面倒
  • サービスを稼働させていて,移行が困難

そして移行作業に...

私の場合,ひとつのサービスくらいしか動かしてなかったのでサーバ構築してDNS移して,,,くらいかなと思ってます.
そのうち,息抜きでやるかーーー(←結局これも先延ばしにするという)

*1:転職したり,やろうとした時に在庫切れになってたり色々な理由でのびのびになってた.

Firefoxでタブをたくさん開く人が幸せになれるかもしれない設定


個人差はあるでしょうが,自分は気づくと100タブくらい開いています.


最近のFirefox,足していく分にはいい動きを見せてくれるのですが,タブを復元する設定で起動をすると結構待つことになります.
そこで,今回の設定なのですが,about:configをいじることなく設定画面から変更するだけで体感がかなり変わります.

設定内容

「タブが選択されるまでページを読み込まない」にチェック.以上.


f:id:mathtti:20120322012127p:image


注意点としては,その名の通り,選択してから読み込みが始まるので先に読んでいて欲しいという方は
ちょっと合わないかなということと,使えるのがFirefox8からというところです.

Mac OS X LionにTomcat7をインストールする

環境

Macbook Air + OS X Lion
Tomcat 7.0.25

インストール

1.公式サイトからダウンロード

Apache Tomcat - Welcome!


DownloadからTomcat7.0 を選択する.
f:id:mathtti:20120123012355p:image:w540


7.0.25 -> Binary DistributionsのCoreからtar.gzを選択して任意の場所にダウンロードする.
f:id:mathtti:20120123012356p:image:w540

2. インストール

Terminalでダウンロードした場所にいき,解凍する.
基本的にはこれだけでインストール完了.renameしたい場合や特定ディレクトリに移動したい場合はここでやります.
私はhome directory配下に開発用のdirectoryを作っているのでそこに配置しました.

# 解凍
$ tar zxf apache-tomcat-7.0.25.tar.gz
# renameしたい場合
$ mv apache-tomcat-7.0.25 /path/to/hoge/new-name
# 移動したい場合
$ mv apache-tomcat-7.0.25 /path/to/new-path
3.動作確認

インストールしたTomcatのbinに入って,startup.shを実行して起動する.

# インストールしたTomcatのbinに移動
$ cd apache-tomcat-7.0.25/bin
$ sh startup.sh


http://localhost:8080/ にアクセスして,Welcomeページが出力されたら正常に起動している.

f:id:mathtti:20120123012357p:image:w540


終了したい場合は,shutdown.shを叩けばOK.

$ sh shutdown.sh 

おまけ Eclipseの設定

今回はEclipseで動かしたかったので,その設定方法.

Eclipse -> 環境設定 -> Tomcat から,TomcatバージョンとTomcatホームを設定します.

f:id:mathtti:20120123012358p:image:w540


これで,Eclipseから起動と停止をおこなうことが出来ます.

メール返信時にアドレスから表示名を自動的に消去するアドオンを作ってみた - Address Cleaner Replying

Thunderbirdでメール返信時アドレス表記を便利にするアドオンを作りました.
『メール返信時』に特化したアドオンです.

当初は「Address Elision」という名前で作っていたのですが,
調べてみたら「Address Cleaner」「Auto Addresss Cleaner」という類似アドオンがあったので,名称を合わせました.

ダウンロードはこちらから:Address Cleaner Replying

どんなアドオンか

『メール返信時』に宛先に含まれる表示名を除去します.

例)

送られてきたメール:

FROM:株式会社○×田中様 tanaka@example.com
CC:佐藤 satou@example.co.jp
CC:鈴木さん suuzuki@example.co.jp

Thunderbird標準の返信では以下のようになってしまう:

TO:株式会社○×田中様 tanaka@example.com
CC:佐藤 satou@example.co.jp
CC:鈴木さん suuzuki@example.co.jp

「CC」についている「佐藤」が敬称なしで「鈴木さん」が「さん」でいいのかとか気にすることがあります.

Address Cleaner Replyingと使うとこうなる:

TO:tanaka@example.com
CC:satou@example.co.jp
CC:suuzuki@example.co.jp

Auto Address CleanerとAddress Cleaner Replyingの比較

Auto Address Cleanerはメール編集時点では『表示名を保持』して,送信する時に削除します.
Address Cleaner Replyingはメール編集画面表示時点で『表示名を削除』します.

以下のようなニーズをお持ちの方は,『Address Cleaner Replying』が向いているかもしれません.

・新規作成する時は自分自身でアドレス登録している表示名を活かしたいが,返信時は消したい.
・返信時はメール編集時点で表示名が消えていて欲しい.

逆に,以下のような場合は『Auto Address Cleaner』の方が良いと思います.

・自分で登録した表示名も送るときは消してしまいたい.
・編集中は表示名を出していて,送る時に自動で消して欲しい.


ダウンロードはこちらから:Address Cleaner Replying

Ajaxで値を取得しようとして上手くいかない時に試す方法(IE向け)

IEだけJavaScriptがエラーになるとか,IEだけCSSが上手く効かないとかよるある話ですよね.

今回はAjaxで値を取得しようとした時にキャッシュとかで古い情報しか取れないとかよく聞くので対処法を紹介します.

クエリ文字列の末尾にユニークなIDとかつければいいと思うよ!


サンプルコードです.DateオブジェクトのgetMilliseconds()とかよく使ってます.


せめてIEらしく,ってというかIEルールみたいので統一してくれればいいんですけど,バージョンで互換性全然ないし.
そこを考えると,スマートフォンサイトとかは対応ブラウザ絞れるので楽ですよね.これはまた別の機会に.

スマートフォンからのアクセスかどうかという判定ライブラリを作ってみた

スマートフォンの判定方法が書いてあるサイトはあるんですが,欲しい感じのライブラリが無かったので作ってみました.
PHPJavaScript両方でつくろうと思ってるんですけど,とりあえずPHP版だけ.


既知の不具合については下に記載しますが,実用には問題ないと思っています.
isSmartPhone:https://github.com/mathtti/isSmartPhone

使い方
<?php
require_once 'path/to/hoge/is_smart_phone.php';

// スマートフォンだったら
if (isSmartPhone::all()) {
}

// iPhoneだったら
if (isSmartPhone::isIphone()) {
}

// iPodだったら
if (isSmartPhone::isIpod()) {
}

// Androidだったら
if (isSmartPhone::isAndroid()) {
}

// Blackberryだったら
if (isSmartPhone::isBlackberry()) {
}

?>


※既知の不具合について
isSmartPhone::isIphone()でiPodでもiPhoneだと誤判定されてしまいます.
これは,iPodのUserAgentで「iPhone OS」という文字列が入っているためです.
正直,自分はiPodiPhoneと識別されても困ってないので放置しちゃってます...


改めて,スマートフォン向けサイト制作のまとめでも書こうと思います.