忍者ブログ

初心者IT本部

いったい僕らの21世紀はどこに行くんだろう、で、ITってなに?

<< | 2024/05 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | >>

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。






windowsでディスクチェック

windowsの起動がやたら遅くなったので、ディスクがおかしくなったのかと思い、ディスクチェックをしてみた。

・[マイ コンピュータ]で所望のディスクのアイコン上で右クリックプロパティ選択
・[ツール]タブで[エラーチェック]で"チェックする"ボタンお押す
・「ファイルシステムエラーを自動的に修正する」「不良セクタをスキャンし、回復する」にチェックする。
・"開始"ボタンを押す

"開始"ボタンを押してもすぐには始まらない。windows再起動時に始まる。

始まると、青い画面でチェックの進行具合が表示される。

windowsでディスクチェック

windowsでディスクチェック#これ結構時間かかる。寝るときや、出かけるときにやることがお勧め、就業中はまずいことになるかも。 

PR





sambaのユーザーは切り替えられない?:sambaでユーザー認証したい

sambaを使えばwindowsでlinuxディレクトリを共有できる。
そこで、複数のwindows端末からsamba共有して

・特定のディレクトリは誰でもアクセスでき、(public)
・別の特定のディレクトリは限られたユーザーのみがアクセスできる(private)

 という機能を会社のネットワークで実現したい。しかし会社
からwindowsドメインにsambaサーバを参加させないように言われている。
 windowsドメインを使うとすぐできるらしいけど・・・。

sambaの設定は /etc/samba/smb.conf を設定することで行える。

smb.conf内は[]で囲まれた"サービス"の定義によって構成される。
文頭に'#'か';'が付いてることコメントアウトされる。

色々試したが、どうにもうまく行かない。

windowsからsambaにアクセスするとwindowsは自動的にwindowsのアカウントで
ログインにチャレンジする。このとき下記の3つのパターンがある。

①windowsアカウント名がsambaユーザーにも存在し、パスワードも同じ
②windowsアカウント名がsambaユーザーにも存在するが、パスワードは違う
③windwosアカウント名はsambaユーザーにに存在しない。


①の場合、該当するsambaユーザーでログインする。③の場合、map to guestが「Bad User」ならそのユーザーは自動的にguest accountで指定したゲストユーザーとなってログインするが、②の場合はパスワードを要求するダイアログが出る。publicなのにダイアログが出るのはおかしいのでmap to guestを「Bad Password」にした。これなら①の場合以外はゲストユーザーということで、publicアクセス時にダイアログは出ない。

しかし、問題はゲストユーザーでpublicにアクセスした後にユーザー認証をかけたディレクトリにアクセスしようとしたとき。①でsambaユーザーになっていればもなにもなくアクセスできるが、一端ゲストユーザーになっていると、privateアクセス時にユーザー名とパスワードを要求するダイアログが出てくる。しかも正しいユーザー名、パスワードを入れてもアクセスできない(!!)。
 一度ユーザーが決まってしまうと、ユーザーを切り替えることはできないのだろうか?じゃあなぜダイアログが出てくる??このくらい需要はあるだろうからできると思うんだけどなー。windowsドメインを使うのがきっと普通なんだろうな~。

、smb.confは下記のように設定した。

------------------------------------------------------------------------
[global]
workgroup=MYGROUP
security=users
map to guest = Bad Password
guest account = guest
encrypt password = yes
smb password file = /etc/smbpasswd

[public]
comment = Any one can access here
path = /hoge/public
writable = yes
guest ok = yes
guest only = yes

[private]
comment = Only members can access here
path = /hoge/private

-------------------------------------------------------------------------

 引き続き調査するっす。

 参考になったページ
http://tonetsutomu.com/tone/articles/nby1999/samba2/
http://www.big.or.jp/~mio/it-old/sb/sb.htm






ドーナツ

島根からの12時間のバスの旅を終えてAM7:30新宿駅到着。

 今回はよく寝むれずに快適な旅ではなかったけれど、折角新宿にいるのでこのまま帰ってもと思い(←田舎根性 笑)、サザンテラスののKrispy Kreme Doughnutsへ~。
 こんな時間で空いているのかと思っていると、近くのスターバックスでKrispyの箱を持っているひとを発見!
 おうおう、向こうからも箱を持ったひとが駆けてくるではないか!ん~、オープンしてから結構経ってるし、朝も早いからさすがに並んでないだろ!

っと、思いきや・・・

ぎゃー・・・

既に50人は並んでいる。。。

わー、すごい。

 

つーわけで踵を返して帰宅。
午後から下北のミスタードーナッツでドーナツリベンジ。

今100円らしいです。こちらも人が並んでる。
つっても10人とかだけどね。

でもアメリカンコーヒー260円って高いな~、
お替りできるけど、

朝からなにも食べてなかったのでドーナツとかパイを4つも食べた。うん食べ過ぎや。

071028_1356~01.JPG

ミスドのポイントってまったく溜まらないや。ドーナツでスイカのポイントになったり、またはその逆
とかできたらにゃー。






LEFT OUTER JOIN で結合したcountのnullを0に換えてソート(OERDER BY)するには

 SNS(もどき)を作っていてLEFT OUTER JOINでくっつけたcountがnull
のときに0に置き換えたい、しかもそのcountでソートしたいと思ったわけ
です。

OUTER LEFT JOINについて・・・

 テーブルA,Bがあり、Aのレコード一つに対し、Bのレコード複数が
対応している場合、Aのカラムに並べてBの集計情報(sumやcount)を
表示したい場合がある。
ここでAに対応するレコードがBに必ずあるのならINNER JOIN(または
OUTER JOIN,普通の「JOIN」)でよいのだけれど、Aに対応するレコード
がBにあるかもしれないし、ないかもしれない場合、INNER JOINだとBに
対応レコードのないAのレコードが結果に表示されない。(僕の場合は、
Aにグループ情報があり、Bにそのグループに所属するメンバーの情報
があった。誰も入ってないグループの情報はBにはない。)
ここでOUTER LEFT JOINを使えば、Bに対応するAのレコードのBのカラム
は"null"になって出力される。

COALESCEについて・・・

 OUTER LEFT JOINでくっつけたcountの順(僕の場合だとグループの参加
人数順)にソートしようとしたらcountはnullを含んでいる場合がある。で
"ORDER BY count DESC"とするとnullが一番上に来る。それ以降は数字の降順。
(せめてnullが0の下ならいいんだけどね^^;)
なので、nullの代わりに0を入れてまとめてソートしたい。そういうときは

SELECT A.group_name,A.group_id,coalesce(count,0) FROM
group_info A LEFT OUTER JOIN (SELECT count(*),group_id FROM user_group_rel GROUP BY group_id ) AS foo ON A.group_id=foo.group_id
ORDER BY coalesce

 とする。副問い合わせの中でCOALESCEを使うとうまくいかない。
#これ、結構悩んだ。"COALESCE"って何語?






VMwareの容量を拡大するには・・・。

VMwareのゲストOSの容量が足りなくなったら、大きくすることができる。
VMwrare備え付けのvmware-vdiskmanagerを使う。

が、vmware-vdiskmanagerでは仮想diskの容量を大きくすることしか
できない。ホストOS(俺はwinodwsです。)からは仮想ディスクのサイズ
は確かに大きくなって見えますが、ログインしてみると、サイズは変わって
なかったりします。パーティションの割り当てをしなければならないんです
ね。
パーティションの割り当てには「サードパーティのソフトを使ってください」
とのことなんでなんでもいいんでしょうが、GPartedがよいようです。

手順としては
①vmware-vdiskmanager で仮想ディスクを拡大
②GPartedでパーティションを割り当て

です。
以下詳細をば、

① 仮想ディスクの容量を10GBに拡大する場合、VMwareをインストールしたフォルダ(俺の場合、C:\Program Files\VMware\VMware Server)にあるvmware-vdiskmanegerで、vmdkファイルを指定する。
> vmware-vdiskmanager -x 10GB xxxx.vmdk
(※ C:\Virtual Machines\下のフォルダには何故かvmdkファイルが二つ
あってxxxx-flat.vmdkはゲストOSのサイズ通り。xxxx.vmdkファイルは1kB
しかない。でもvmware-vdiskmanagerではxxxx.vmdkの方を指定する。すると
xxxx-flat.vmdkの方が大きくなる。)

② GPartedでパーティション割り当て
 webサイトからisoイメージをダウンロードして、VMwareのCD-ROMのところで
「Use ISO image:」を選択してダウンロードしたisoイメージを指定する。ゲスト
OSのBIOS設定でCDブートするようにしておけばGPartedのGUIが立ち上がって簡単
に設定でする。
(※俺の場合VMware Server Console 1.0.2 で、Red Hat Enterprise Linux 4を
拡張しようと思ったんだけど、最新版のGPartedではうまくいかず0.3.4-4.isoを
使うとうまく行った。)

GPartedの起動途中にキーボードとLanguageを選べるけど、Languageは日本語選ぶ
と文字化けがひどいのでUS Englishがよいです。
パーティション割り当てはGUIでできるけど、新たに作ったフリーのスペースは
linux-swapの後ろにできてるので、既存のパーティションを拡張することができない
ので、一端linux-swapを消します。その後既存のパーティションを選んで、「Resize/Move」
から好きなだけ拡張する。linux-swapを作り直して(この分のスペースは取って置く)
からメニュー部の「Apply」 を選んで確定。
これでゲストOSで使える領域が実際広がっているはず。




AdminControlMenu: AdminMenu | NewEntry | EditComment | EditTrackback

忍者ブログ [PR]