WebYaST

http://en.opensuse.org/WebYaST


SUSE Linux Part 24
http://pc11.2ch.net/test/read.cgi/linux/1235308088/

683 :login:Penguin :2009/10/03(土) 18:31:58 ID:ipMMLI1S
<チラシの裏>
WebYaSTについての覚え書き。

WebYaSTとは、名前の通りYaSTのユーザインターフェイスをWeb化したもの。
ごく普通のWebブラウザを使うことでリモートマシンのYaSTを操作することができる。
現在はアルファ版の状態で、ようやく先日翻訳が始まったばかり。
翻訳側に伝えられている情報によると、10月末くらいが一端の目処になっている模様。
openSUSE 11.1以降で利用できるようになるらしい。
http://en.opensuse.org/WebYaST

インストール作業はzypperから行なう。
openSUSE 11.1の場合は
http://download.opensuse.org/repositories/YaST:/Web/openSUSE_11.1/YaST:Web.repo
openSUSE 11.2の場合は
http://download.opensuse.org/repositories/YaST:/Web/openSUSE_Factory/YaST:Web.repo
からそれぞれ.repoファイルをダウンロードして、
# zypper ar "YaST:Web.repo"
とするとリポジトリを追加できる。

684 :login:Penguin :2009/10/03(土) 18:33:27 ID:ipMMLI1S
最低限必要なパッケージは、それぞれ yast2-webservice と yast2-webclient の2つ。
あとはYaSTと同じように各モジュールがあるが、面倒であれば
# zypper in yast2-webservice\* yast2-webclient\*
として全部入れてしまうのが良いだろう。

インストールしたら、あとはそれぞれを起動すれば準備ができる。
# /etc/init.d/yastws start
# /etc/init.d/yastwc start
起動するとポート80でサービスが動くので、Webブラウザで
http://(対象のマシンのアドレス)
とするとログイン画面が現われる。

(とはいえまだセットアップの途中でちょくちょく落ちるが)
</チラシの裏>

メモ:ソフトウェアのライセンス

2009-08-22

記事の中で挙げられているライセンスの種類

OSSにするのかどうか

出来合いのOSSプロジェクトに参加することで、ゼロから開発するよりも早く開発できて開発費も削減できる。この意味では損はしない。得である。

問題は自分の作ったソースを公開するか、しないか

  • 公開する=GPL
  • 公開しない=BSD

BSD的な話

独自拡張の部分は、開発コストの関係で、バージョンアップに追随するのが難しかった

メンテナンスコストも含めて考えると、BSD的な独自部分を公開しないという方法は中期的にはコスト高?

GPLな話

  • 独自技術を隠蔽することが難しい
  • 自社で開発した部分をコミュニティに公開してメインラインにマージしておけば、メインラインがどんどんバージョンアップして行っても、ほとんどコストゼロで機能拡張に追随できる。これは開発コストを激減する

tomoyoがマージされるまでに中の人たちが頑張ったのを読んだが、それはそれで大変な気もする。

一方で独自追加部分が競合他社にも無償で利用される。それを懸念するむきもある。フリーライドされるという懸念である。フリーライドされたからといいって、自社開発コストが増えるかというと、そうではなくて、他社製品が売れて、自社の製品の売上が下がる可能性がある。自由市場経済である以上それはしょうがない。

# そうなんだよね。それが最初に気になる。
# それじゃあ、他社との差はどうやってつけるのかな

しかし、仮に競合がその機能をさらに拡張したとしたら、その機能も公開しなければならないので、その機能についての開発費は削減できる。プラスマイナスゼロである。

# 途中でBSDライセンスに逃げる(?)ことってできるのだろうか。
# だとしたら、どれだけ相手のカードを出せるか、みたいだなあ

最初にその機能を作った組織には影響力やノウハウの蓄積というアドバンテージがあるので若干プラスという感じである。

# 綱渡りな印象を受ける
BSD的な開発では、独自追加部分のオリジナリティとその後開発を続けていく体力が必要

BSDと比較してGPLは、独自技術を隠蔽しにくいので、技術革新がどんどん蓄積され、無駄な重複開発がなくなり、コミュニティ全体としての生産性が極めて高い。

# 誰にとって得なのだろうか。
Linuxカーネルだとコミュニティは相当広いわけだけど。
# 重複開発が無駄であるのは、同じコミュニティにいる場合。
# 他社と同じコミュニティに属すると考えて、業界のレベルを上げていく、
# とか考えるのは幸せすぎるよなあ。

企業の行動原理は、利益の追求

# であるものだし。
# 他社の得が自社の損(他社製品が売れて自社製品の売り上げが下がる)でなければいいのだけれど、そんなことはない。


(飛躍)
## コミュニティの広さが自社の広さと同じくらいであればあるだけ
## 隠蔽の程度は小さい(???)けど、
## その分、開発者は狭くなる(?)。
## でも、GPLという体は守ってるのでライセンス違反ではない。
## そういうことではないのかしら?
## んじゃプロプライエタリBSD的でいいかも?

一方、プロプライエタリな開発を行っている企業がOSSにした件とその理由

例えばマイクロソフトが自社の製品をオープンソースにすると、売上が伸びるか、あるいは経費が減るかというと、どちらもそうとは言えないので、マイクロソフトが自社製品をオープンソース化することは考えられない。先日マイクロソフトHyper-V向けのLinuxドライバをGPLで公開したことが話題になったが、Linuxドライバを公開する事が自社のHyper-Vの魅力を増し、売上向上を期待して公開したということであろう。

大手ハードウェアベンダーがLinux開発に貢献するのは、例えば自社のハードウェアの売上を伸ばしたい、あるいは独自OS開発のコスト負担には耐えられないので、OSS(Opensource Software)プロジェクトに参加することで経費を削減したいなどの思惑があるのだろう。

プロプライエタリにするのではなく、OSSにすると得られる利点を見出した

ライセンスはLinuxの場合、GPLにならざるおえない。公開するかしないか、どのようなライセンスを選ぶかは技術的な問題というよりも経営的な判断である。

# つまりは、どっちのほうが儲かるか


OpenSUSEのnon-OSSレポジトリにあった(バイナリで配布している;多分ソースは公開していない)のを考えると、
LinuxでのドライバがGPLでなければならない、という意味ではないみたい
# どういう意味?

メモ

  • 勉強会

http://d.hatena.ne.jp/hanazukin/
http://d.hatena.ne.jp/nitoyon/20080528/it_study_calendar
IT 勉強会カレンダー
http://www.jpcert.or.jp/event/half-day_Camp-seminar.html

今度試してみるVim-plugin

ウォッチしている人数の順に表示するサイト
http://vimpi.net/plugins

zypperでのディストリビューションアップデート

SUSE Linux Part 24
http://pc11.2ch.net/test/read.cgi/linux/1235308088/

854 :login:Penguin :2009/11/13(金) 20:37:21 ID:DjId8EeF
誰にでもできる(はずの)11.1 -> 11.2 アップグレード

(1) ログインしてrootになる
(2) # zypper lr -e repositories.repo として、既存のリポジトリを
 repositories.repo ファイルに出力する
(3) repositories.repo ファイルをviエディタなどで開き、
 "/11.1/" になっているところを全て "/11.2/" に書き換える
(4) # zypper rr 1 を繰り返して全てのリポジトリを削除する
(5) # zypper ar -e repositories.repo として書き換えたリポジトリを取り込む
(6) # zypper clean してから # zypper ref してリポジトリの内容をダウンロード
(7) あとは # zypper dup とすると 11.2 へのアップグレード処理が動きだす。
 よく内容を確認してから "y" と答えれば処理が始まる
(8) 最後にシステムを再起動すれば作業完了。

855 :login:Penguin :2009/11/13(金) 21:30:09 ID:zPHsxssv
>>854

(7)の前に(6)'として
# zypper in zypper
で zypper だけ先にバージョンを上げると幸せかも

(7)はその作業が終われば
X上のコンソールで実行するなら状態なら
# YAST_IS_RUNNING=instsys zypper dup -d
そうでなければ
# zypper dup -d
と”-d”オプションつけるとまずアップグレードに必要なパッケージを
すべてダウンロードしてからアップグレードがはじまるよ。

途中でダウンロードが止まって、中途半端に
一部のパッケージだけがアップグレードされる新旧混合の状態を防げる。

特に今はリリース直後で回線が重いから、ぜひお奨め。
アップグレードが始まるまで時間かかるけど。。。
zypper の -d オプションは11.2の新機能だから (6)'を忘れずに。

あと、再起動前に #SuSEconfig を実行すると安全。

revdep-rebuild

837 :login:Penguin :2009/10/02(金) 00:04:32 ID:vPNQUNmX
emerge -uDN worldでsys-libs/dbが来ていたので
アップデートしたのですが、equery list -i dbしたところ
[I--] [  ] sys-libs/db-4.3.29-r2 (4.3)
[I--] [  ] sys-libs/db-4.5.20_p2-r1 (4.5)
[I--] [  ] sys-libs/db-4.6.21_p4 (4.6)
[I--] [  ] sys-libs/db-4.7.25_p4 (4.7)
4つも入っていました。
dbは過去のパッケージも必要とされるものなのでしょうか?

# uname -rm
2.6.28-gentoo-r5 i686
よろしくお願いします。

838 :login:Penguin :2009/10/02(金) 00:14:13 ID:e3nnp+Vz
# equery d sys-libs/db で調べてみたら?

848 :837 :2009/10/02(金) 20:16:15 ID:Kp/PU0k+
>>838
ありがとうございます。
なるほど。そうやって調べるのですね。
# equery depends sys-libs/db
[ Searching for packages depending on sys-libs/db... ]
dev-lang/perl-5.8.8-r5 (berkdb? sys-libs/db)
dev-lang/python-2.4.4-r13 (!build & berkdb? sys-libs/db:4.3)
dev-lang/python-2.5.4-r3 (!build & berkdb? sys-libs/db:4.2)
                         (!build&berkdb? sys-libs/db:4.3)
                        (!build&berkdb? sys-libs/db:4.5)
dev-lang/python-2.6.2-r1 (!build & berkdb? sys-libs/db:4.2)
                        (!build&berkdb? sys-libs/db:4.3)
                        (!build&berkdb? sys-libs/db:4.5)
                        (!build&berkdb? sys-libs/db:4.6)
                        (!build&berkdb? sys-libs/db:4.7)
sys-devel/libperl-5.8.8-r2 (berkdb? sys-libs/db)
sys-libs/gdbm-1.8.3-r3 (berkdb? sys-libs/db)

python-2.5.4-r3に、sys-libs/db.4.2が
必要とされているみたいなのですが、
>>837の結果を見る限りインストールされていません。
これはどう読めばよいのでしょうか?

849 :login:Penguin :2009/10/02(金) 20:46:03 ID:e3nnp+Vz
>>848
それはかつじゃなくてまたはだから4.3とか4.5が入ってればいらない。
だから4.6とかはいらないけどpython-2.6がdb-4.6でコンパイルされてたりすると
消したら問題が出てくるのでその辺を自動で解決する方法として

# emerge -uDN world で依存関係に問題ないのを確認した後、
# emerge --depclean で必要とされてないパッケージを削除して
# revdep-rebuild で壊れたパッケージをコンパイルしなおせばうまくいくと思う。

851 :login:Penguin :2009/10/02(金) 22:25:32 ID:Kp/PU0k+
>>849
perlなどがリコンパイルされていて
少し時間がかかりましたが、とてもすっきりしました。

# equery list -i sys-libs/db
[I--] [  ] sys-libs/db-4.7.25_p4 (4.7)
# equery depends sys-libs/db
dev-lang/perl-5.8.8-r5 (berkdb? sys-libs/db)
dev-lang/python-2.6.2-r1 (!build & berkdb? sys-libs/db:4.2)
                       (!build&berkdb? sys-libs/db:4.3)
                       (!build&berkdb? sys-libs/db:4.5)
                       (!build&berkdb? sys-libs/db:4.6)
                       (!build&berkdb? sys-libs/db:4.7)
sys-devel/libperl-5.8.8-r2 (berkdb? sys-libs/db)
sys-libs/gdbm-1.8.3-r3 (berkdb? sys-libs/db)

gentooハンドブックに書いてあるものなのですね。
http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=2&chap=1
勉強不足でした。お手数をおかけしました。
ありがとうございます。

852 :login:Penguin :2009/10/02(金) 22:29:23 ID:cEt/CpGe
emerge --depcleanはたまにぶっ壊してくれるので注意
python-2.6消されて泣いたことがある

sh(bash)プログラミング

シェルスクリプト総合 その15
http://pc12.2ch.net/test/read.cgi/unix/1246408968/

492 :名無しさん@お腹いっぱい。 :2009/09/20(日) 20:46:49
bash又はkshで長さが一定でないファイル名からある位置の文字を取り出したい。
具体的にはhogehoge〜XX.txtのXXの2文字。後ろから5,6文字目。
前からの位置であればcutで簡単だったのだが後ろからで行き詰った。
考えた挙句、echo ファイル名 | wc -c等で長さを取って、
それをexprで6減算した値をcutの開始位置にしてやったりして出来たのだが
たかが2文字取り出すだけなのにスマートじゃない。
もっとシンプルに行かないものでしょうか?

493 :名無しさん@お腹いっぱい。 :2009/09/20(日) 21:00:31
>>492
expr 'hogehoge〜XX.txt' : '.*\(..\).txt'

496 :名無しさん@お腹いっぱい。 :2009/09/21(月) 10:57:39
>>492
fにファイル名が入っているとして
a=${f#${f%??.txt}}
echo ${a%.txt}
ではどうか。

497 :名無しさん@お腹いっぱい。 :2009/09/21(月) 13:03:33
bashでいいなら、
↓で一発じゃん (fileにファイル名が入っているとして)

echo ${file:$((${#file}-6)):2}

gentooスレで見つけた記事

Gentoo Linux 28
http://pc11.2ch.net/test/read.cgi/linux/1242550977/

gentoo: What is Global Update?

# emerge -vuDN world

  (snip)

Total bytes received: 6306455

sent 82347 bytes  received 6306455 bytes  43022.24 bytes/sec
total size is 181408409  speedup is 28.39


Performing Global Updates: /usr/portage/profiles/updates/3Q-2009
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  #='/var/db update'  @='/var/db move'
  s='/var/db SLOT move'  %='binary move'  S='binary SLOT move'
  p='update /etc/portage/package.*'
....................................................

google:gentoo /etc/make.profile
Upgrading Gentoo - Gentoo Wiki
Gentoo X86 Handbook - Gentoo Wiki
google:Performing Global Updates gentoo
google:gentoo Updating to 3Q-2009
http://wiki.gentoo.gr.jp/index.php?Portage%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB#na30f185

コンドームの最小枚数を求める問題

一般教養の数学の時間に教えてもらったときには話題になった。
授業内容よりも逸れた話の方が面白いというのは大学でもあるんだな。

ふとしたことがきっかけになって思い出した。


最小枚数は2/3min[m,n]+1/2max[m,n]+0(1)で求まると、
google検索でトップに出てきたサイトで読んだ。
ハイナル・ロバースの定理というらしい。


そういえば全員が性病を持っているとか、
コンドームを重ねても、得られる快感には影響を与えないとか
変わった条件に友人と面白がっていた記憶があるな。


以下下記事
http://at-seikatsu.jp/ved/index.php?ad=81361385
http://d.hatena.ne.jp/eichi44/20090930/p3
http://d.hatena.ne.jp/yukitanuki/20091001/p1