So-net無料ブログ作成
検索選択

Bash on WindowsというかLinux Subsystem for Linux(beta)を入れてみた。 [Linux]

たまりかねて常用マシンにBash on Ubuntu on Windowsを入れてしまった。途中でただでさえ甘いセキュリティが低くなりますよとのダイアログが。そんなの気にしてWindowsを使っていられっかw。

http://qiita.com/Aruneko/items/c79810b0b015bebf30bb

bashと入力して始まる。題名がBashというだけにシェルから始まるのね。う~ん、全角文字を考えてなくて、プロンプトが名前に埋まるw。なので気持ち悪い。なんだろうな。こういう詰めのなさがLinuxっぽいというか、Windowsっぽいというか。多バイト文字を考えてないとかいつの時代のソフトだよw。

でも、wgetがそのまま使えるとか、Dockerの最小装備のUbuntuよりか全然使える。基本、一般的なBusyboxで装備されているようなコマンドは特に何もしなくても使える。これはなかなかいいものですね。sshだって入れないで使えるんですよ。もちろんviだって使えるはずだよね、まだ使ってないけど。

GoogleのエンジニアがめっちゃMacOSXを使い始めてから、OSSの技術者は結構Macに取られた。まぁWindowsの上に仮想化のLinuxでも良かったのだろうけど、ネイティブで対応しているってのは大きかったみたいだ。何にしてもローカルでこねくり回せるのは好きな人にはいいのだろうしね。僕自体はあまり商用環境は汚して使いたくない派なんだけど、Ubuntuを使うときはDockerとかの仮想化で完膚なきまでにいじり倒す、というか開発しているうちに環境が汚くなる。

そういうOSXへの流出がWindowsには少しなりとも痛かった。というのも、その頃からOSSの取り込みを図ろうとしていたからだ。Iron PythonとかPHPがWindowsでも使えますよ、みたいなことをやっていたけれど、それってプラットフォームが金かかるんでしょ、それならや〜めた、という話になっていたんじゃないかと思う。RHELが金がかかるにしたってWindowsに比べたら高が知れているだろうし。AzureはWindowsの製品の中でしか基本使われてないんじゃないかなぁ。IaaSがこれだけある中で、UbuntuとかRedHatとか使わないわけがないし。

ともあれ、OSSの人のための、WindowsなBashということなんだけどaptも使える。これはほぼほぼUbuntuを手に入れたようなものだ。確かにリンク先のように動かないパッケージもあるけれども、それもそのうち少しずつ解消されるのだろう。というかCanonicalのやる気次第かな。CanonicalはUbuntuに引き込めればどんなプラットフォームでもいいと思っているのだろうけど、そこまでして客引きする意味があるのかなという気はする。

というかaptってapt updateみたいにaptitudeのような形で使えるようになったのかね。少なくともBash on Windowsではそれができたみたいだ。ということは、打ち込みにくいapt-getもapt-cacheももういらないってことなのかな。ちょっと素のUbuntuを使ってみる。

$ apt 
apt 1.0.1ubuntu2 for amd64 compiled on Apr 19 2016 13:39:25
Usage: apt [options] command

CLI for apt.
Basic commands: 
 list - list packages based on package names
 search - search in package descriptions
 show - show package details

 update - update list of available packages

 install - install packages
 remove  - remove packages

 upgrade - upgrade the system by installing/upgrading packages
 full-upgrade - upgrade the system by removing/installing/upgrading packages

 edit-sources - edit the source information file

あ〜aptのみで大体のことができるんだ。もうaptitude要らないじゃんw。どっちにしてもaptitudeのGUI機能なんて使ってないし、もうaptコマンドでいいな。しかし、いつ頃導入されたんだろうな。ちょっときになる。

というわけで、WindowsでもUNIX likeな生活が近づいたわけで。今までWindows用の移植アプリを入れないといけなかったので、これで破壊的にUNIX化が進むといいと思う。何にしても面倒臭さがない。なんか今までやっていた苦労ってどんどんなくなっていって楽な世界だなぁ。

コメント(0) 
共通テーマ:パソコン・インターネット

何となくUbuntuを14.04から16.04LTSに変えてみようとする。 [Linux]

14.04もLTSな気がしたけど、いつの間にかGUIがGNOMEに戻っていたっぽいから、Ubuntuを新しくしてみる。

GUIからアップグレードしようかと思ったけどなんかうまくいかない。コマンドラインからdist-upgradeしてみようとしたけど、GUIのプロセスがファイルの使用権利(たぶん)を掴んだまま離さなくて、再起動してSSHで外からやってみようと思う。

でも現状を14.04で一番新しくはできそうなので、GUIでやっとく。Software Updaterって奴で何とかなるらしい。いつもSSHでaptitude update && aptitude upgradeしかしてないので、GUIでやるの久しぶり。

ほっといたら画面が消えていてロックを解除しようとしたら、ロック解除できず。普通にパスワード打ってるのにうんともすんとも言わない。適当な文字列で打ったら、拒否するメッセージが出たので、一応パスワードを認識しているのだろうが、どうにも再ログインできない。何だこのポンコツわw

面倒なので実機コンソールはやめて、いつものように外から繋いで、
sudo apt-get dist-upgrade

sudo apt-get autoremove
しろと書いてあったのでする。

なんかカーネル関連を一つずつ消していってるっぽい。まどろっこしい。終わった。

sudo aptitude dist-upgrade
でもダメ。
sudo apt-get dist-upgrade
でもダメ。

というか、APTではまだ新しいバージョンは扱っていないのかもしれない。クリーンインストールするのも何だしなぁ。上書きで出来そうな気もするんだけど、そこまでする必要があるのか微妙なのところ。というわけで、新しいLTSはまた今度にします。




《追記》
実際はこうするようです。

sudo apt-get install update-manager-core
sudo do-release-upgrade


http://gihyo.jp/admin/serial/01/ubuntu-recipe/0337

ん〜状況に変化なし。

$ lsb_release -d
Description: Ubuntu 14.04.4 LTS

16.04へ移行するのはいつになるのでしょうかw。

コメント(1) 
共通テーマ:パソコン・インターネット

bash-completionを使ってみた。作ってみた。 [Linux]

いろんなディストリビューションにデフォルトで入っていると思われるbash-completion。bashを使っている際にコマンドラインでTabを押すとディレクトリの中身以外に選択肢を出して補完してくれる優れもの。使っているUbuntuにも入っていたけれど、Dockerのミニマムなコンテナイメージには含まれていなかったので、後で入れた。あるとないとじゃ大違い。

存在を知らなかった頃は、コマンド側でそういう仕組みを作っていると思っていたんだけど、実はbashの中で補完していたという事をわりと最近知った。それがbash-completionがやっている事もそう。C言語とかでやってるのかなと思っていたら、普通にシェルスクリプトでやっていたのでした。

 http://heartbeats.jp/hbblog/2013/06/bash-completion.html
 http://d.hatena.ne.jp/snaka72/20090930/1254316751
 http://www.usupi.org/sysad/236.html

具体的には、上のを見て自分でも書けそうだなと思ったりした。

/etc/bash_completion

の中身は

/usr/share/bash-completion/bash_completion

だって事で見てみると、serviceコマンドはそこに含まれていた。

外付けのコマンドは
/usr/share/bash-completion/completions/
に入っている。
/etc/bash_completion.d/
にも入ってるけど切り分けはわからない。
Dockerとかは後者の方に入っていた。


で、実際に書いてみた。というか既存の似たコマンドをパクった。
わたし的にはaptitudeとかapt-getとかが好きで少しわかっているのでそれなどを見た。
_hoge()
{
    local cur prev words cword
    _init_completion || return

    COMPREPLY=( $( compgen -W "foo bar nani sore" -- "$cur" ) )

}&&
complete -F _hoge hoge

普通の補完はTabを押すと、カレントディレクトリのファイルの一覧が出てくるんだけど、この場合はfoo bar nani soreが選択候補になります。このままではファイル選択の機能が死にますが、後で意図的に入れたい場合は、_filedirを呼び出せばいいみたい。

_hogeと実際の補完される方のコマンドのhogeは名前が一緒じゃなくていいのですが、慣習から同じくしているみたいですね。とりあえず最後の引数は実際に使えるコマンドじゃないと動かないですよね、当然。

キモとしてはcompgen -wで補完候補リストを作ってCOMPREPLYに入れて、それをcomplete -Fで実行しているという感じ。実はそれ以上でもそれ以下でもなさそう。_init_completionでcurにそれまで入力されたもの関係が入っているようなので指定しないと消えるんだったっけかな。

本当は_init_completionが実際何をしているとか見れば面白いのだろうけど、いかんせん暇がないのでシェルスクリプトが好きな人は見てください。あぁシェルスクリプトが好きな人は、こんなところ見に来ないで自分で探ってますよね、そうですよね。とりあえず他の補完方法で使いたいところがあれば、「completionsディレクトリから探してパクっちゃいなよ、YOU」ということで。

あと作る時にはbash -lでいちいち反映させてあげなくちゃいけないはず。ファイルを変更したのにどうにも反映されない時にはbash -lで更新されるはずです。もっといい方法があるのかもしれないけど、僕は何度もこのコマンドを打った。あと、気にすることってなかったかなぁ。とりあえず、上のスケルトンコードをいじるなり、他の既存のシェルスクリプトを改造するなりして割と簡単に作れますよ。まぁ大体のコマンドがすでに補完可能になっているので、使う側で良くて作らなくていい人がほとんどだと思うけど、また使う時用の備忘録ということで。

コメント(0) 
共通テーマ:パソコン・インターネット

久しぶりのrbenv(DockerのUbuntuな環境で) [Linux]

DockerのUbuntuなコンテナでRubyを入れようと思い、rbenvとruby-buildを入れてみたけど動かない。

何だろうと思って
sudo aptitude install gcc make

とかして見ても無駄。

rbenv installしたんだけどダウンロードしかされない。
実はディレクトリを見てもダウンロードさえされてなかった。

何が悪いってwgetすら入ってなかったんですよ。
コンテナって初期状態は何も入ってないから気を付けよう。

sudo aptitude install wget
rbenv install 2.1.8

あ~長いコンパイルの旅に出られてしまったサーバ様。
失敗した~w

ログのエラーの最後に下記のような表示が出た。

apt-get install -y libssl-dev libreadline-dev zlib1g-dev

その通りにやってみた。

ん~前にやったようにUbuntuのリポジトリだと古いRubyしか入ってなさそうだしなぁ。
ゔ…まだバージョン1.9台だよ。使えねーよw。

rbenv install 2.1.8

で再度やったら、長い時間をかけてコンパイルできました。
ただ単にリンクの時にこけてただけみたい。

やっぱりコンテナのミニマムなOSの状態からやるの厳しいな…。
これでもDockerの初期状態からかなり入れた後なんだけどな。

本当はDockerFileとかを使って構築すべきなのかもしれないけど、正直行き当たりばったりで環境構築するから、コンテナをイメージに戻してそれをコンテナとして再利用ってのが一番簡単な気がしている。例えばRubyの入れた環境をイメージにして、開発の基礎として使う、みたいな。というか、それを今やろうとしている。

とりあえずRubyが入ればそこまでの処理はイメージからでっち上げればいいので、簡単な基礎的な環境を作るのにも楽ができる。基礎的と言ってもRubyをコンパイルしたり色々しているので、時間的な短縮は絶大といえるだろう。そんなわけでRubyが使える環境が整った。というか、ディストリビューションのリポジトリが使えればそれが依存性などを考えると一番いいのだけれど、最近新しい環境を使う事が一般的になってきているので、APT以外の方法を取らないといけなくなってはいます。

だからC言語の使われ方っていうのは汎用的で一般的なんだなとLinuxでは思います。まぁUNIXを作るために作られた言語らしいし、枯れてはいるが人の書いたものが読みにくい言語なので、もう必ずしもC言語で作るという前提は少なくなってきているのだろうね。コアな部分はずっと残っていくのだろうけど、メンテがしにくいという点はずっと変わってないので、インタプリタでLLな言語でも、ネイティブなコードを吐くGolangとかでも何でもいいとは思うけどね。ただ自分が使っていない言語が多くなると厳しいものがあるけれども。

タグ:Ruby Docker
コメント(0) 
共通テーマ:パソコン・インターネット

LXCのネットワークがらみで、Debian久しぶりに使った。 [Linux]

最近Ubuntuしか触れてないのですが、あまりにもCentOSやFedoraのインストーラのレベルがうんこすぎて、ヤケになって空き領域にDebian入れました。入れてもLXCでの仮想化は期待はできないけど…。だってできてたらUbuntuでさっくりと実行できるはずじゃん。そうじゃなかったらCanonicalの怠慢ということになる。というか成果をパクってる時点で怠慢以前。

前にUbuntuでLXCのネットワークをやろうとしたら、NetworkManagerが腐っていてまともにnmcliのコマンドが使えないという状態になっていた。今更、RedHat系に移ろうとしたが、入れたい物理サーバに入らず、エラーも出ない他のマシンに入れられるようではあったものの、どうしてもCentOSやFedoraを入れたいという気にはならなかった。

苦し紛れにDebianに回帰してみたら思ったよりもUbuntuよりか良かったりした。nmcliも中途半端になっていなさそうだし、もしかしたらNetworkManagerでブリッジを設定して、LXCに使えるのではという期待をしている。そういや、 brctlでLXCでLANに参加したことがなかったんだよな。nmcliでいろいろできなかったら、brctlでやってみるのも面倒だが少なくとも確認作業にはなる。


別にVirt-managerはUbuntuではまともに動かなかったものの、Debianではちょっとマシになっていた。Virt-managerのGUIもsudo virt-managerで立ち上げ可能で、Pythonらしき良く訳の分からないエラーも出なかった。gksudoとかもいらんかったみたいだ。というか、Ubuntuは基本的に改良されていると思っていたんだが、思いっきしデグレード起こしているじゃん。話にならん。前に使ったけど日本語のリミックスは酷いし更に使う気にならなかった。もはやUbuntuはLTSでのサポートしか望めるものもなくなってしまった。でも、そのサポートも怪しくなってきたと言わざるを得ない。モバイルとかに軸足を移したがってるもんなぁ。

とにかく雑誌を見てnmcliでブリッジを作るところまでできた。前に書いたように、nmcliのパラメーターの省略が可能で気持ち悪いので、そこで結構はまった。nmcliのバージョンが違うためか、同じコマンドラインでエラーが出た。日経Linuxそういうの多いよなぁ。今回はDebianとCentOSとの違いはあるものの、そもそもNetworkManagerが発展途上にあるのが問題があるとは言えるのだが。

でも、NetworkManagerでbridgeを作れるところまでは分かった。ただブリッジとNICは両立することができない仕様になっているみたい。あとはLXCのコンテナにTAPを作ってブリッジに接続すれば良いだけなんだろう。そこまではやっていない。KVMはそんなに苦もなくTAP/TUNを使えた気がしたんだけどなぁ。

コメント(0) 
共通テーマ:パソコン・インターネット

CentOS7を入れようとして入らなかったり。 [Linux]

CentOS7を入れようとしたら、ブートの最後のほうにエラーが出た。
An Unknown Error Has Occurred
というGUIなエラー画面が出て止まるマシンがある。止まらないマシンもある。止まるマシンのほうが古いから枯れていていいと思うのだが、どうにもうまくいかない。

ググるとSATAの設定をIDEからAHCIにしろとか出ているけど、できないパソコンはどっちにしてもできないし、できるパソコンはどっちに設定しても動く。それで直るものもあるんだろうけど、自分のところではその通りにならなかった。なんかSATAのセッティングじゃないような気がする。そういう問題だったら、GUIのところまでブートしないのではないのだろうか。

動くものと動かないものの違いといえば、BIOSかUEFIかの違いかもしれない。あと、IDEポートがあるかないかの違い。それとグラフィックが内蔵かNVIDIAかの違い。それを言ったらCPUもマザーボードも違うけどな。古いほうが動かないんだけども、どうにも理由がわからない。

動いたらここで報告するけど、正直動く見込みはない。なんだかLinuxの黎明期のインストールブームの時みたいだな。グラフィックボード差し替えたりしたけど、古いので逆にGUIで文字すらも見えなかったり。ちょっとCentOSひどすぎる。古いものは切り捨てって話ですか。状況はUbuntuよりか悪いな。う〜ん、これは神様がCentOSなんか使うなと言っているのに違いない。

元々、なんとかケチってRHELを使いたい奴らが集まって作っただけのコミュニティーなんでしょ? それが本家や金がかかってそうなUbuntuのCanonicalに勝つことができるなんて誰も思えないよね。というかブートできるぐらいのものを作ろうよね。正式リリースで少しググっても山ほど同じエラーが報告されてる。GUIで入れるのが難しいんだったら、コマンドラインだけでもいいよ。

とりあえず、Fedoraを落としてきて入れてみる。WorkstationのDVDのを入れた。ブートはするし、ハードディスクに入れるモードのところにまで行ける。更に中でキーボードも日本のを選べる。そこから先がまた
An Unknown Error Has Occurred
が発生。

どうしようもないね。この場合は、先ほどみたいに見た目が汚くて文字すらも読めないGUIということはないのだけれど、エラーとしてはハードディスクが読めないみたいな状態のようだ。それでNative IDEとかRegacy IDEとかIDE->AHCIとか全部試したけど無理だった。ハードディスクにインストールする前のお試し版みたいなLIVEでは、普通にハードディスクは読めるのだけれど、インストールしようとするとPythonのエラーが出て転ぶ。anacondaってなんだ? よくわからないけどよく動かない。

ググると散々AHCIにしろ、RAIDはやめろの連呼でどうにもならないクソ状態はなんとかならんのか。恐らくはマザーボードが古すぎるんだろう。でも、Ubuntuは普通に対応してたよ? そもそもGUIでやらせる意味はないし、なんか意味がわからない。

ハードウェアの要件は満たしているかどうか見てみたら、
1GHz or faster processor
1GB System Memory
10GB unallocated drive space
とあり、もしかするとインストール前にハードディスクのパーティションの前段階の空き領域を作ってあげないといけないっぽい。そんなのインストールの途中でやらせればいいじゃん…。Ubuntuはシステムの上書きもできるから、ユーザーのファイルは普通に残るのに、Fedoraはそういうことさせないんだ…。ちなみに今は要件はみんな満たしている。

うわ、昔のUbuntuのパーティション削って100GB以上空けたけど、多分同じエラーが出た。空き容量の問題とも違うっぽい。やめてんかw。もうやめた。こんなひどい目にあったの久しぶりだ。ダウンロード時にデータ誤りが出たとかいうものじゃないだろう、面倒で確かめてないけど。じゃなかったら別のイメージで同じようなエラーが出ないもんな。

たぶんハードウェアが古いからってオチなんだろうけど、それにしてもお粗末なインストーラだとしか言えない。こんな入口から拒否されるとは思ってなかったよ。Ubuntuは今まで何の問題もなくできてたんだよ。RedHatから離れたのかな?Fedoraって。だとしたら、RHELはまともに動くことを祈るしかない。多少古くても、あまり新しすぎてもダメなんだろうなぁ。

コメント(0) 
共通テーマ:パソコン・インターネット

NetworkManagerって結構大切なんじゃ? [Linux]

仮想化サーバのネットワーク設定が上手くいかず、どうやら/etc/network/interfaces でする旧来の方法では上手くいかない事も多いのだなと思ったりする。

いつもネットワーク設定はinterfacesファイルにべた書きでやっていたのだが、IPアドレスを固定できて、他のクライアントから見つけることができても、ネットワークの外には行けないとか不具合が生じることがある。たぶんKDDIに変わってから勝手にちんけなルーターを付けられてしまい、80番ポートを晒すだけで数か月でハングするようなショボさになってしまった。そのルータはDHCPで割り振ったものには問題なくルーター越えを許すけど、IPをinterfacesで設定しただけでは外に通してくれなかった。

ルーター側でDHCPでIPを割り振る際に、Macアドレスで固定することもできたけど、それだと仮想化サーバのIPとか振るのが著しく面倒だ。それじゃ仮想化サーバじゃなくてもIP固定して外に晒すのも面倒だ。でも、NetworkManagerを使うとすんなり固定IPを設定できた。それもGUIなので実機の前ではわかりやすく設定可能だ。ともあれ、nmcliコマンドもあるので、SSHで入っても問題なく設定できる。しかし、NetworkManagerにもメリットがあったとは思ってなかった。interfacesで十分だと思っていた。

そんなわけでIPをコマンドラインで割り振れたらいい場面も多いと思う。少なくともRedHat系とUbuntuはNetworkManagerを使っているっぽいので、動いているものにはそれを適用したほうがいいと思う。やっぱりviでしこしこ書き直すより、コマンドで書き換えられたほうが仮想化には向いているだろうしね。

わりと新しい仕組みらしく、nmcliに関してはわりとガチャガチャ変わっていたらしく、ググって上位に書いてある通りにやってもうまくいかない。

https://wiki.archlinuxjp.org/index.php/NetworkManager#nmcli

nmcli con show
についてはエラーが出る。少なくとも手持ちのUbuntuではshowじゃなくてlistじゃないと動かなかった。
$ sudo nmcli con list
NAME                      UUID   TYPE              TIMESTAMP-REAL
Ethernet connection 1     割愛   802-3-ethernet    never


引数が変態なことに

sudo nmcli c
sudo nmcli conn
sudo nmcli connection list

でもどれでも結果は同じだ。すげー気持ち悪いw。
とにかく、うろ覚えでもコマンドがリジェクトされる可能性が低い。でもやっぱキモい。

一覧表でも作っとくか。オプションを除く。それと管理者権限じゃないと動かない。よくありがちなはまる罠w。

nmcli c 接続状態を見る
nmcli c list 同上
nmcli c up [UUID] UUIDのNICをつなげる
nmcli c down [UUID] UUIDのNICを切断
nmcli c delete 

書いている途中で気づいたんだが、前に雑誌に載っていたコマンドの引数がそもそも存在していない。
nmcli c add type bridge ifname br1
とか書いてあったけど、connectionにaddとかないし。ネットワークマネージャのバージョンがUbuntuでは古いのかもしれない。記事ではRedHatの設定だったから、そっちのほうが新しくてやりやすいのかもしれないな。ちなみにUbuntu 14.04ではversion 0.9.8.8のものだった。

更に追い討ちをかけると、存在するUUIDを指定しても動かない。
問題があって実装してないか、あえて動かないようにしているか、バージョンが古すぎて使えないか、いずれかなんだろう。

あと、NetworkManagerを使わず、Interfacesを使って設定して入れる場合には、そっちの設定で動いているとみなされるので、一度GUIかnmcliで設定し直さないといけない。

とりあえず、サーバのIPアドレスを変えてみようと思っていたが、それさえもnmcliでは用意されていないようだ。GUIだとできるのに意味がわからない。というか、Ubuntu見限ろうかなぁ。正直最初から信用してないし、使いやすいから今まで使っていたけれど、深く使おうとするとこういうことも多い。モバイルのOS開発する前にやることがいくらでもあるだろう、というのが率直な感想。

結局brctlコマンドでチクチクやっていくほかないのかもしれない。でも、そうするとコンテナ仮想化で簡単にIPアドレスを晒せるサーバを作るのが困難になるだろう。あ〜面倒臭いったらありゃしない。そんなわけで、今度はCentOSを物理サーバに入れてみようかなと思ったり。RedHat系ずーっと触ってないからほぼ初心者なんだけど大丈夫かなw。

コメント(0) 
共通テーマ:パソコン・インターネット

UbuntuのGUIの至らなさに閉口する [Linux]

Ubuntu 14.04を入れたのだけれど、Desktop版だからか特にGUIがうまくいかない。まぁそもそもサーバ目的のものではないのはわかってはいたが、サーバ版にGNOMEを入れたほうがいいのかもね。ともあれ物理サーバに入れてしまったので、本当にどうにもならなかったら、サーバ版にするかCentOSあたりを考えよう。もしかしたら十年くらい使っていないFedraを入れるかもしれない。なんかCentOSとかみみっちくて好きになれないんだよな。所詮、クローンディストロという感じがして気持ち悪い。


ともあれ、LXCできちんとネットワークを設定できればそれで済むことだ。パフォーマンスを気にしてないのに、物理サーバはちと融通がきかなすぎる。できれば使い捨ての利くコンテナを使いたい気持ちでいっぱいだったり。そういやDockerは全くやってないよな。ちょっと遅いがやってみるのも悪くないかもしれない。

Virt-managerがうまく動かない。qemu-kvmを入れてないという初歩的なミスだが、エラーが適切に出てこなかった。APTでも依存性で解決してくれないし、どうせKVMでしか使わないのに入ってなかったら勝手に入れてほしい。入っていればそれを使えばいいし、入ってなくて動かないとか面倒臭すぎる。たまに未だに依存性が解消されないと動かない時があって、意味があるんだろうけどどうにも理不尽な気はする。たぶん、KVM以外の仮想化には対応していないっぽいから気にしない。

GUIが元々設定されていない感じとしては、RedHat系にも劣る感じなのだが、やはりGNOMEじゃなくて独自のGUIを使っているところも問題があるような気がする。無駄に不具合を背負うだけだと思う。GUIもあまりよくないけど、やっぱりサーバ版じゃない事で入っていないパッケージが多い。SSHのサーバーはないし、tmuxもないし、サーバ版で引っかからないところで引っかかる。たぶんaptitudeとかも入ってなかったような。いつも通りにできないと結構げんなりするものである。というか、ここまでパッケージの構成が違うのかと驚いた。

仮想化については結構時間が経つのに割合面倒なところがクリアにならない。Dockerあたりがお手軽にできそうだけれど、制御ソフトは乱立状態になっているらしく何を使っていいやら分からない状態にある。結局、LAN内でプライベートアドレスを振れて外も見られる状態なら何でもいいんだけどねぇ。

コメント(0) 
共通テーマ:パソコン・インターネット

Ubuntu11.04から14.04にアップグレードした [Linux]

今更何言ってんだよ、と言われても仕方ないディストロの古さですが、一応理由はあったのですよ。GPGPUのために取っておいたのですが、それも必要じゃないなと思っていて、本格的にコンテナを使おうとしました。ともあれ、今の物理サーバをよく分からないコンテナ用に使うのもどうなのかな、という気はしていました。別に気にしないで使えばいいんだけど、めちゃくちゃやっていい環境を作っておいたほうが面倒がなくていいと思いました。

そもそも今のサーバにBoot2Dockerとかは入れられないし、やっぱり仮想化サーバを使うにしても物理サーバをいじるという点がネックになってくるわけです。よくVirtualBoxにコンテナを使っているケースを見かけますが、それネットワークの構成どうやって外に出してるの?と聞きたいぐらいです。おそらく、コンテナの軽さを味わいたいぐらいのことならできるのでしょうが、真面目に使おうするとどう考えてもネットワークが使えないという状態になるでしょう。普通に物理サーバから仮想NICをプライベートネットワークに晒すことすら容易ではないのに、そこにブリッジ二つ連結するのかよ、という状況は絶対に避けたいわけです。

外を見られても外から見られない用途ならいいのかもしれませんが、まずローカルネットワークから固定IPで見れないとSSHでつなげもしません。物理サーバの前に行くのであれば、そもそも仮想化ってなんだっけっていう話にもなってくるし、SSHを使わないで触るってのも、今時ネットワークを使わないで使うみたいな話とそう変わらないような気がしてしまうのです。


とにかくUbuntu11.04から上げようとしたら、GUI画面からはエラー。CUIで
sudo aptitude update
sudo aptitude upgrade
sudo aptitude dist-upgrade
いずれも使えず。もはや、ブートしているものはおろか、アップグレード先のデータもないみたい。

なので、ブートディスクをISOで持ってきて焼いてアップするしかなかった。
Windowsからブートできるのだけど、開いているUbuntuからは無理だった。なんか面倒くさい。久しぶりにDVD-RWにISOファイルを焼いたよ。

元々のパーティションが妙な感じになっていたので、自分で/の位置を指定してあげなくてはならなかった。まぁそれは仕方ないでしょう。その割には昔のUbuntuがどこにあるのか認識してたみたいだったけど、きちんと自分で確認してあげた方がいい。それでWindowsや保存したファイルを消すよりかいいでしょう。

んで、元あるUbuntuのパーティションをそのまま使って14.04LTSにできました。デスクトップにしかファイルは置いてなかったと思ったから、たぶんそのままファイルは引き継げたんだと思う。でも、何を残したか忘れている時点で、無くなったとしても問題ないだろう。

ん〜前からなんだけど、Ubuntuのブートローダーの画面の時に表示がはみ出しちゃうんだよね。KVMをかませているとはいえ、KVMでGrubが出ている最中に切り替えると普通に表示されるんだよね。なんか意味がわからない。Linuxとか往往にしてインストール時のほうが表示のクオリティが高いとかが多いんだよね。下手に専用のドライバを使わないほうがいいということだろうか。まぁLinuxだとVESAなドライバが多いのだろうけど、もっと汎用のドライバのほうがいいってことか…。


これからLXCでネットワークをいじれそうだ。新しいディストロだと簡単になっていればいいなぁ。いろいろ問題はありそうだけれど、一応固定IPは割り振れたし、これからブリッジと仮想化OSをつなげれば問題なし。しばらくは暇な間はサーバの前でかじりつく事になりそうだ。別にSSHでもいいんだけどGUIでやれれば楽したいし。

コメント(0) 
共通テーマ:パソコン・インターネット

面倒なdockerでLANでのIP割り振りをしようとしたら、virt-managerとLXCやってた。 [Linux]

DockerでIPを割り振るのは面倒だと以前に書いた。まぁ仮想環境全般で言えることなのだけれど、いろんなアプライアンスで簡単に設定することもできた。ハードウェア仮想化が今まで栄えていたし、これからも使われ続けるのだろうけど、コンテナ仮想化では特に物理サーバ並みに設定が簡単とか、物理サーバと同じやり方で設定できるとかがあまりなかった。

続きを読む


コメント(0) 
共通テーマ:パソコン・インターネット