▼ 2009/04/25(土) Ubuntu 9.04がリリースされました
日本語Remix CDも今日確認したらダウンロードできるようになってましたよ。本当に楽しめるディストリビューションだと思うので、ぜひ使ってみてください。パソコンをUbuntuの為に用意するのが面倒って人は、仮想環境でもいいので試してみてください。
さて、普及活動終わりっと。Software Designの5月号を読んでたら、Ubuntuへの貢献方法として普及活動ってのがあったので、宣伝しておきましたよ。
僕はUbuntuマシンが何台かあるんですが、とりあえずMacのVM環境に入れてあるUbuntu 8.10を9.04にアップグレードしておきました。ちゃんとアップグレードする前にスナップショットを撮っておいて、何かあった時にはロールバックできるようにしておかないとね。仮想環境だとこーゆーのが便利だよね。散々ぐちゃぐちゃにしちゃっても、スナップショットがあればすぐにその時点まで戻せる。おっと、VMの宣伝じゃなくてUbuntuの宣伝するんだった。
9.04になった記念にスクリーンショットでも撮っておきました。9.04になってるか確認した時のものですよ。
さて、9.04で色々と変更点とか追加された事もあると思うけど、僕にとって一番重大なのは、Pythonのバージョンが2.6になったこと。今まではずっと2.5使ってたからな・・・ここに書いてあることに注意しておけば大丈夫かな。
これだけ見てると2.6凄い良いんだけど。withとか便利そうだ。httplibでのタイムアウト設定も地味に便利。今のところ2.5で作ってやつは問題無く動作してるかな。
あとはExt4がどうなんだろう・・・Software Designの5月号にZFSの特集があって、これ読んでるとZFSとかマジで最強なんだけど。ZFSと比較してしまうとExt4なんて興味出ないんだよな・・・
最後に、Ubuntuユーザなら知ってることだと思うけど、初めて見るとUbuntuのバージョンってちょっと変だよね。というかよく分からないよね。8.10とか9.04とか何なのよ・・・って。これは、2009年04月にリリースだから、9.04です。なので8.10は2008年の10月にリリースってこと。このバージョン表記は慣れると恐ろしく分かりやすい。最初はへんてこなバージョン表記だなって思ってたけど、今ではこのバージョン表記こそ最高に素晴らしい!ってなってます。
- TB-URL http://chibilog.name/0371/tb/
▼ 2009/04/25(土) yumのupdateが出来なくなった件
CentOS 5.3を使っているんですが、気づいたらyumでupdateが出来なくなってましたよ。ちなみにこんな感じのエラーが出てしまってる。
ceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 229, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 145, in main
(result, resultmsgs) = base.buildTransaction()
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 647, in buildTransaction
(rescode, restring) = self.resolveDeps()
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 704, in resolveDeps
for po, dep in self._checkFileRequires():
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 939, in _checkFileRequires
if not self.tsInfo.getOldProvides(filename) and not self.tsInfo.getNewProvides(filename):
File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line 414, in getNewProvides
for pkg, hits in self.pkgSack.getProvides(name, flag, version).iteritems():
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 300, in getPbuildTransaction()
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 647, in buildTransaction
(rescode, restring) = self.resolveDeps()
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 704, in resolveDeps
for po, dep in self._checkFileRequires():
File "/usr/lib/pn getProvides
return self._search("provides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 837, in _search
for pkg in self.searchFiles(name, strict=True):
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 568, in searchFiles
self._sql_pkgKey2po(rep, cur, pkgs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 470, in _sql_pkgKey2po
pkg = self._packageByKey(repo, ob['pkgKey'])
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 413, in _packageByKey
po = self.pc(repo, cur.fetchone())
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 68, in __init__
self._read_db_obj(db_obj)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 94, in _read_db_obj
setattr(self, item, _share_data(db_obj[item]))
TypeError: unsubscriptable object
データベースの再構築を行ったところ、正常に動いてくれるようになったのでメモ。以下のコマンドを実行して再構築を行った。
$ sudo yum clean all $ sudo rpm --rebuilddb
しかし、CentOS 5.3ってPythonのバージョンが2.4なのね・・・全然使ってないから気づかなかった。
$ cat /etc/redhat-release CentOS release 5.3 (Final) $ python -V Python 2.4.3
1: 2009年04月25日(土) 深夜2時45分
この投稿見て一番為になったのが、redhat-releaseの存在っていう
ダメさを発揮している私です。
ちなみに上記エラー出たときは、yumが壊れた→入れ直そうと削除して
rpmから入れ直しちゃいました。
何か面白いメモ(記事)があるからこのブログは好きですw
2: 2009年04月26日(日) 午前5時33分
好きと言ってもらえると嬉しい限りです!何か色んな日記がごっちゃごっちゃになってる気はしますが・・・
/etc/redhat-releaseは意外と覚えておいて損の無いファイルだと思いますよ。
アプリケーションによってはインストール時にこのファイルの中を見て、処理を続行するか中断するか判定することがあります。
例えば、4.*系には対応しているけど、5.*系には対応して無いアプリケーションでは、このファイルの中が5.3などとなっていたら、インストールを中断してしまいます。
そこで、5.3となっているところを4.6とかに書き換えて強引にインストールしちゃったりとかの方法が取れることがあります。
もちろん本当に対応してなくてこーゆー処理を入れてる場合もあるとは思うので、強引にやっていいのかどうかの判断は難しいですが。
このファイルの中の書き換えの良い例としては、Oracle 10gを入れる時にこれで回避できたと思います。
3: 2009年04月27日(月) 午前9時08分
なるほど、/etc/redhat-releaseって書き換えもできるのですね。
動くかは自己責任としても、どうしても入れてみたいソフトはあると
思うので覚えておきたいと思います。
ありがとうございます。
4: 2009年04月27日(月) 午後7時13分
なかなか、そんなものをインストールする機会って無いと言えば無いんですけどね・・・
ただ、この問題に直面した時は、どっかのサイトの変な人がそういえばあんなこと言ってたなって思い出してくれればと思いますw
- TB-URL http://chibilog.name/0370/tb/


1: 忍 2009年04月27日(月) 午前11時44分
結局buntuで特にやる事がなくて放置…(´・ω・`)
2: chibi 2009年04月27日(月) 午後7時14分
WindowsとかMacをとりあえず捨てれば、嫌でも使うようになるんじゃない??w
まぁ、クライアントとして使うんならMacとかのほうが使い勝手いいからね・・・