CentOS 7 がリリースに向けて、いよいよ QA テストのフェーズに移ったようです。ISO フォーマットにはなっていませんが、[2] からイメージファイル CentOS-7-20140625-x86_64-docker_01.img.tar.xz がダウンロードできます。このイメージを展開すると、そのままバイナリのイメージが展開されます。これ、どうやって VirtualBox などで利用するのでしょう。そこから調べなくてはなりません。
2014-06-26
2014-06-22
CentOS 7 LiveCD (プレビュー版)を試す 2
CentOS 7 の LiveCD について、前回のつづきです。LiveCD からインストールを行ない、Nightly Builds のサイトからパッケージをダウンロードしてみました。
LiveCD からのインストールでは日本語でのインストールも選択できましたが、選択後、インストーラが固まったので、英語の設定でインストールしました。インストール後、/etc/yum.repos.d 内を見てみると、レポジトリが何も定義されていなかったので、下記のファイルを保存して、Nightly ビルドのサイトから、KDE や Desktop 環境をグループでインストールしました。
[centos-nightly] name=CentOS Nightly Builds baseurl=http://buildlogs.centos.org/centos/7/os/x86_64-latest/ enabled=1 gpgcheck=0
デフォルトの GNOME デスクトップ環境です。慣れれば使いやすい環境になるものでしょうか? Fedora では以前からデフォルトのデスクトップ環境になっており、慣れようと頑張りましたが、結局 LXDE に変えてしまいました。
KDE デスクトップ環境です。個人的にはこちらの方が好みですが、日本語化はいまいちです。ただし日本語の入力は問題ありません。
ちょっと訛りが気になる英語ですが...、ネットワーク越しにインストールする方法です。
関連サイト
2014-06-20
CentOS 7 LiveCD (プレビュー版)を試す
CentOS 7 の nightly-builds と思われる LiveCD のイメージを、「プレビュー版」と呼んでしまっていますが、下記ののサイトから livecd-centos-7-livecd-201406190204.iso をダウンロードして、Fedora 20 (x86_64) 上の VirtualBox の仮想環境で試してみましたので、そのスクリーンショットを紹介します。
この週末には、LiveCDからインストールした後の紹介をする予定です。
2014-06-11
Red Hat Enterprise Linux(RHEL) 7.0がリリース、デフォルトで10年保証を提供 | TechCrunch Japan
RedHat Enterprise Linux 7 (RHEL 7) が、6/10(米国時間)にリリースされれたそうです。記事 1. によると、今回のリリースにおける主な特長は、Kernel 3.10 の採用、Windows の Active Directory との相互運用性(の強化)、デフォルトのファイルシステムが EXT4 から XFS へ変わったこと、Docker によるコンテナ化のサポート、そして今後のすべてのメジャー/マイナーなリリースを対象に 10 年間保証されるといったことだそうです。
Docker あるいはコンテナ化についてはよくわからなかったので、慌てて 2. のようなサイトから基本的な知識を補充しました。
個人的には、RHL 7 に対応した CentOS 7 がいつリリースされるかがとても楽しみです 3.。前回のメジャーリリース RHL 6(2010 年 11 月 10 日)に対応した CentOS 6 がリリースされたのは 2011 年 7 月 9 日と随分かかりました。しかし、今や RedHat は CentOS プロジェクトのスポンサーとなり 4.、CentOS プロジェクトのコアメンバーの何人かは CentOS の開発に集中できるようになっているわけですから、タイムリーなリリースを期待したいです。
2014-06-09
【備忘録】Alfresco の Community 版を Linux で試す
Alfresco は、オープンソースとして開発されている企業向けのコンテンツマネジメントシステム (Enterprise CMS) で、Microsoft Windows、Linux および MacOS 上で動作します 1.。
現在勤めている会社では、文書管理システムとして、米国某社製の監査証跡が確実にとれる、FDA でも導入されたシステムを数年前に導入しています。実は自分がそのシステムの導入を提唱し、予算を取って導入、社内展開した張本人なので、スモールオフィス環境 2. を整えた場合にも、ISO 9001 のようなマネジメントシステムに関係なく、文書管理システムのようなものは業務には必要だと考えています。例えば就業規則のようなルールを文書として従業員がアクセスできるようにすることは勿論ですが、お客様と取り交わした内容や仕様を正式に保存する場所を確保すること、業務におけるマニュアル(手順)を(保管場所を含めて)整備することに加え、技術報告書のような技術文書が蓄積されないとノウハウが醸成されないからです。
文書管理システムのようなものにオープンソースで開発されているものがあるだろうかと疑問でしたが、調べてみるとありました 3.。私はへそ曲がりなので、二番目にランクされていた OpenKM を最初に試してみました。Web ベースのアプリケーションにも関わらず、インストールは思ったより簡単で、機能的にもこんな程度でもあれば良いかな、というシステムでしたが、メニューなどのメッセージが日本語に対応していないところが残念なところでした。それでは一番目にランクされている Alfresco はどうだろうと試してみてビックリです。
最初の起動後の admin でログインした画面をみて、一目見て他とは出来が違うな、と感じたことです。細かい機能を知らなくとも、ちょっと使ってみようかなと感じさせるには十分なログイン後のダッシュボード画面でした。
ということで、まだ使い込んではいないので、機能的な善し悪しをここで評価することはできませんが、Linux へのインストール方法について紹介することにします。
Alfresco にはエンタープライズ版(有償版)の Alfresco One と、コミュニティ版(無償版)の Alfresco Community Edition があります。ここでは、Community Edition のインストールを説明します。Alfresco が動作する要件がどこかにまとめられていたのですが、どこにあったのか分からなくなってしまいました。しかし、Java 6 以上を実行する環境と、httpd のサービスが有効になっていれば大丈夫だと思います。正式な条件が記載されているものが見つかれば、補足します。
インストール (Linux)
まず、Alfresco Communityのダウンロードとインストール | Alfresco に氏名、電子メールなどを記入して「Download Community」ボタンをクリックすると下記のようなメールが届きます。
Hi xxxxxxxx Thanks for your interest in Alfresco Community Edition. Here are the installers: Windows 32 Download | Instructions ← リンクになっている Windows 64 Download | Instructions ← リンクになっている Linux 64 Download | Instructions ← リンクになっている Mac Download | Instructions ← リンクになっている (途中省略) Regards, The Alfresco Community Team
ここでは、Linux 64 のファイルをダウンロードした場合を説明します。
$ chmod +x alfresco-community-4.2.f-installer-linux-x64.bin $ ./alfresco-community-4.2.f-installer-linux-x64.bin
ダウンロードしたファイルを実行可能なモードにして実行すると、言語選択画面が表示されます。
言語を選ぶとインストール画面が表示されます。
一部、ポート番号を修正する箇所がありました。
管理者 (admin) のパスワードを設定します。
しばらく待つとインストールが終了し、ブラウザが起動してログイン画面が表示されます。
ユーザーアカウントを作成し、いくつかの文書をアップしてみた様子です。
二回目以降の起動
インストール後はサーバーが起動していますが、システムを再起動した場合、デフォルトの状態ではサービスは自動起動されません。マニュアルでサービスを起動するやり方を下記にまとめました。
$ cd alfresco-4.2.f [bitwalk@localhost alfresco-4.2.f]$ ls README.txt amps libreoffice scripts uninstall.dat alf_data amps_share licenses share.log alfresco.ico bin manager-linux-x64.run solr.log alfresco.log common postgresql tomcat alfresco.sh java properties.ini uninstall $ ./alfresco.sh usage: ./alfresco.sh help ./alfresco.sh (start|stop|restart|status) ./alfresco.sh (start|stop|restart|status) postgresql ./alfresco.sh (start|stop|restart|status) tomcat help - this screen start - start the service(s) stop - stop the service(s) restart - restart or start the service(s) status - show the status of the service(s) $ ./alfresco.sh start waiting for server to start.... done server started /home/bitwalk/alfresco-4.2.f/postgresql/scripts/ctl.sh : postgresql started at port 5432 Using CATALINA_BASE: /home/bitwalk/alfresco-4.2.f/tomcat Using CATALINA_HOME: /home/bitwalk/alfresco-4.2.f/tomcat Using CATALINA_TMPDIR: /home/bitwalk/alfresco-4.2.f/tomcat/temp Using JRE_HOME: /home/bitwalk/alfresco-4.2.f/java Using CLASSPATH: /home/bitwalk/alfresco-4.2.f/tomcat/bin/bootstrap.jar:/home/bitwalk/alfresco-4.2.f/tomcat/bin/tomcat-juli.jar Using CATALINA_PID: /home/bitwalk/alfresco-4.2.f/tomcat/temp/catalina.pid Tomcat started. /home/bitwalk/alfresco-4.2.f/tomcat/scripts/ctl.sh : tomcat started $
2014-06-08
LXQt - The next generation of the Lightweight Desktop Environment
GTK+ ライブラリを利用している軽量デスクトップ環境 LXDE (Lightweight X11 Desktop Environment) を永らくデスクトップ環境として利用してきました。この LXDE は 使用するライブラリを GTK+ から Qt へ変更して、LXQt に名称が変更になり、最初のリリースが LXQt 0.7.0 として今年の 5 月 7日にアナウンスされました。
- LXQt - The next generation of the Lightweight Desktop Environment
- LXDE - Lightweight X Desktop Environment / Mailing Lists
- 次世代軽量デスクトップ環境「LXQt」登場 | マイナビニュース
Fedora 用のレポジトリが 1. のサイトで公開されていて、LXQt 関連のパッケージを yum でインストールしたのですが、デスクトップマネージャを切り替えられません†。次の Fedora で Spin がリリースされるより前に確認ができれば報告したいと思いまます。
† その後、LXDE と LXQt を同時に、というのは無理ということが判りました。[6/10]
2014-06-07
魅惑の Qyoto (6) - SpinBox, Slider & Dial
Qyoto (Qt) を用いて、今回は、設定した範囲の数字を調節するウィジェット 3 種類を紹介します。
まず、Fedora 20 における Mono / Qyoto の開発環境の主要なパッケージですが、前回と同じく以下の通りです。
- mono-core-3.4.0-2.fc20.x86_64
- qt-4.8.6-5.fc20.x86_64
- qyoto-4.12.5-1.fc20.x86_64
- qyoto-devel-4.12.5-1.fc20.x86_64
スピンボックス
スピンボックス QSpinBox は、ボックスに表示されている数値データを,ボックスの右端にあるアップダウンボタンで増減させて変更するウィジェットです。「↑」「↓」キーやマウスホイールでも調節できます。
using System; using Qyoto; /** * ZetCode Qyoto C# tutorial * * This program uses the QSpinBox widget. * The option selected from the combo box is * displayed in the label widget. * * @author Jan Bodnar * website zetcode.com * last modified October 2012 * * modified by Fujito Suguri * last modified 7-Jun-2014 */ public class QyotoApp : QWidget { public QyotoApp () { WindowTitle = "スピンボックス"; InitUI (); Move (100, 100); Show (); } void InitUI () { QSpinBox sp = new QSpinBox (); sp.SetRange (0, 100); sp.SetValue(50); sp.Alignment = (uint) AlignmentFlag.AlignRight; sp.SetSizePolicy (QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred); Connect (sp, SIGNAL ("valueChanged(int)"), this, SLOT ("OnValueChanged(int)")); QVBoxLayout vbox = new QVBoxLayout (this); vbox.AddWidget (sp); } [Q_SLOT] void OnValueChanged (int i) { Console.WriteLine ("値が " + i + " になりました。"); } [STAThread] public static int Main (String[] args) { new QApplication (args); new QyotoApp (); return QApplication.Exec (); } }
コンパイルおよび実行例を以下に示します。
$ mcs spinbox.cs -pkg:qyoto $ mono spinbox.exe 値が 51 になりました。 値が 52 になりました。 値が 53 になりました。
スライダー
スライダー QSlider はツマミをマウスでドラッグすることで、値を変更できるウィジェットです。「↑」「↓」キーやマウスホイールでも調節できます。
using System; using Qyoto; /** * ZetCode Qyoto C# tutorial * * This program uses the QSlider widget. * The option selected from the combo box is * displayed in the label widget. * * @author Jan Bodnar * website zetcode.com * last modified October 2012 * * modified by Fujito Suguri * last modified 7-Jun-2014 */ public class QyotoApp : QWidget { public QyotoApp () { WindowTitle = "スライダー"; InitUI (); Move (100, 100); Show (); } void InitUI () { QSlider sl = new QSlider (); sl.SetRange (0, 100); sl.SetValue (50); sl.SetOrientation (Orientation.Horizontal); sl.FocusPolicy = FocusPolicy.StrongFocus; sl.tickPosition = QSlider.TickPosition.TicksBelow; sl.TickInterval = 10; sl.SetSizePolicy (QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred); Connect (sl, SIGNAL ("valueChanged(int)"), this, SLOT ("OnValueChanged(int)")); QVBoxLayout vbox = new QVBoxLayout (this); vbox.AddWidget (sl); } [Q_SLOT] void OnValueChanged (int i) { Console.WriteLine ("値が " + i + " になりました。"); } [STAThread] public static int Main (String[] args) { new QApplication (args); new QyotoApp (); return QApplication.Exec (); } }
コンパイルおよび実行例を以下に示します。
$ mcs slider.cs -pkg:qyoto $ mono slider.exe 値が 51 になりました。 値が 52 になりました。 値が 53 になりました。
ダイヤル †
† 「だいある」で一発変換できなかったのでダイヤルにしました。
ダイヤル QDial は、スライダーと同様にツマミをマウスでドラッグすることで、値を変更できるウィジェットですが直線的ではなく回転的に値を変化させるウィジェットです。「↑」「↓」キーやマウスホイールでも調節できます。
using System; using Qyoto; /** * ZetCode Qyoto C# tutorial * * This program uses the QDial widget. * The option selected from the combo box is * displayed in the label widget. * * @author Jan Bodnar * website zetcode.com * last modified October 2012 * * modified by Fujito Suguri * last modified 7-Jun-2014 */ public class QyotoApp : QWidget { public QyotoApp () { WindowTitle = "ダイヤル"; InitUI (); Move (100, 100); Show (); } void InitUI () { QDial dl = new QDial (); dl.SetRange (0, 100); dl.SetValue (50); dl.SetNotchesVisible (true); dl.FocusPolicy = FocusPolicy.StrongFocus; dl.SetSizePolicy (QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred); Connect (dl, SIGNAL ("valueChanged(int)"), this, SLOT ("OnValueChanged(int)")); QVBoxLayout vbox = new QVBoxLayout (this); vbox.AddWidget (dl); } [Q_SLOT] void OnValueChanged (int i) { Console.WriteLine ("値が " + i + " になりました。"); } [STAThread] public static int Main (String[] args) { new QApplication (args); new QyotoApp (); return QApplication.Exec (); } }
コンパイルおよび実行例を以下に示します。
$ mcs dial.cs -pkg:qyoto $ mono dial.exe 値が 51 になりました。 値が 52 になりました。 値が 53 になりました。
参考サイト
- C# Qyoto tutorial
- Qyoto: Main Page - Qyoto Documentation
2014-06-01
Linux で実現できるスモールオフィス環境を考える
2 年ほど前に「Linux はポピュラーな OS になったか?」という記事を書きましたが、その後も W3Schools Online Web Tutorials の OS Statistics が示す Linux クライアントの割合は 5% 程度で推移しています。
ちなみに、先日米国へ出張した際に判ったことですが、この W3Schools で紹介されている Web 技術のチュートリアルは、少なくとも出張先で聞いた限りでは、極めて評判の良いサイトのようです。我が日本人スタッフの連中も英語のサイトを読むだけのスキルがあれば強く勧めるのですが、現実は極めて厳しいです。中学英語をマスターしていて、新しい単語を調べる気がありされすれば、なんてことは無いと思うのですが…。新しい知識に対する "飢え" が無いからでしょうか…、いや、愚痴はこの辺にしましょう。
さて下記サイトですが、OS のシェアに関してはもっと細かく掲載されています。
デスクトップおよびラップトップ PC の出荷台数比で Linux 搭載分が 1.5% 程度であるのに対し、Web クライアントの統計で Linux が 15% を占めているのは、Android の分が含まれているためです。
サーバ用途では Linux は 3 割近くを占めておりよく健闘しています。またスーパーコンピュータの世界に至ってはいまや Linux が主流です。仮想化の技術が盛んな今ですから、物理サーバ上のホスト OS は VMware のような仮想ソフトウェアを動作させるための最低限の環境を備えた Linux である場合もあります。
デスクトップやラップトップの PC では、相変わらず Microsoft Windows が主流で、前述の出荷ベースで見る限り Linux のシェアは僅かなものです。しかし、Linux のデスクトップ環境は日本語も含めて、Windows とそれほど遜色があるとは思えません。
会社から供与されている PC は、Windows XP のサポート終了の影響を受けて、数ヶ月前に新しい HP のノート PC になりましたが、OS は 32bit の Windows 7 です。Windows 7 に変わっても、(少しは速くなったかもしれないが)ブート/リブートの遅さ、リソースに負荷がかかる作業(例えば Eclipse や NetBeans IDE による作業)をすると、全体的に動作が重くなってしまうので、その後にリブートを必要とするというお粗末なリソース管理や、セキュリティアップデートによる頻繁な再起動要求にはいつも閉口しています。
もし自分が独立して小さな会社を構えるとすれば、Windows はコストの無駄なので、Linux だけで業務ができるようにしたいものだと思っています。Web やメールサーバを含めたネットワーク系は Linux サーバで対応できますが、ランニングコストやスケーラビリティを考えると、今どきであれば、社内 Web やメールはクラウドサービスを利用した方がコストメリットがあるかもしれません。しかしデスクトップ環境までクラウド環境に頼るほどには進歩的な考え方をしていませんので、この部分を Linux で実現するとすれば、必要な条件は何になるかを考えてみました。
なお、インターネット上でオフィススイートを利用する選択肢は、検討する価値があるので、別の記事で評価してみたいと考えています。
事務一般
「事務」とは書きましたが、いわゆる Microsoft Office を使う業務です。この Microsoft Office の存在が Windows を使わなければならない大きな理由となっていますが、一般的な用途で考えた場合、Outlook と Publisher を除けば、Linux 上で動作する LibreOffice で置き換えられます。Excel や Word について表面的な機能しか知らないスタッフであれば LibreOffice の Calc や Writer を使うのに大きな抵抗はないでしょうし、エキスパートであればそれなりに使いこなすことは難しくないはずです。LibreOffice の Impress が Microsoft の PowerPoint に相当しますが、Linux 上ではフォントが異なるため見映えが異なるほか、操作方法においても使用感が異なります。これには慣れが必要なのでしょう。Microsoft Access と LibreOffice の Base が対応するのでしょうが、私はデータベースとしてどちらも使わないので比較はできません。ちょっと乱暴かもしれませんが、とりあえず Excel, Word, PowerPoint に相当するものがあれば大丈夫でしょう。
Outlook を単なるメールクライアント(メーラー)として考えれば、Linux でも Mozilla Thunderbird や Sylpheed などを利用することで対応できますが、PIM の機能を重視する場合は Novell/Gnome の Evolution か KDE の Kontact で同様な機能が実現できそうです。
Microsoft Publisher については、現状ではスタッフに社内広報誌作成のために使用してもらっていますが、なかなか使い心地が良く、意外とこのようなちょっとした用途の分野では評価できるツールです。LibreOffice の Draw で対応できるかというと、できないことは無いが、やや役不足です。この用途に業務的に格別なニーズがある場合は Inkscape の使用を検討した方が良いかもしれません。なお、DTP の分野に業務的なニーズがある場合は、Linux は今のところこの方面に強いとは言えません。業界的には Macintosh / Mac OS X が向いています。
話が少し大きくなってしまいましたが、手軽に社内報やチラシを作ることであっても、それが主業務になるのであれば、Microsoft Publisher に相当するアプリケーションを Linux 上で探すのは難しいかもしれません。しかし、優先順位を落とせるのであれば、考慮から外しましょう。
なお、Microsoft Visio については、LibreOffice に対応したものがないので、Dia で同じような業務の実現を考えることになるでしょう。
エンジニアリング
Microsoft Office の部分を LibreOffice に置き換えることができるだけで、いわゆるパソコンを使う業務についてかなりの部分を Linux のシステムで置き換えることができますが、これだけではまだ不足です。いくつか考えられるケースを挙げてみます。
プログラミング
一言にプログラミングといっても対象はいろいろありますが、GNU GCC 系で対応できるプログラミングであれば費用をかけずに開発環境を揃える事が出来ます。Web アプリケーション開発(Apache 系 Web サーバ)や OS に依存しないスクリプト言語系の開発は概ね問題無いはずです。またバージョン管理などをはじめとした開発環境全般を揃えるのは、Windows より Linux の方がむしろ適しているかもしれません。
統計解析・データマイニング
統計解析とデータマイニングに、今の会社では JMP を使っています。ただ(結構な数量の)高いライセンス料を支払うだけの使い方をしているとは言えません。操作の仕方は異なりますが、少なくとも検定、分散分析、回帰分析などの基本的な統計解析や実験計画 (DOE) で JMP ができることは R 言語でもできます。Windows 版の R もあるので、社内でいろいろな人に薦めたことがありますが、プログラミング言語的あるいはコマンド入力的な側面がある R を、たいていの場合、敬遠されてしまいます。そういう会社ですので SPC や MSA に JMP を使うという、ややもったいない使い方をしています。
SPC を本格的に導入するのであれば、製造ラインからデータを吸い上げる自動化システムと連携できる専用の SPC システムを導入すべきですし、そうでない、小規模な(リアルタイムで無い)SPC で妥協するのであれば、それこそ Excel で十分です。MSA に至っては、一部 Excel では計算できない超越関数の数値を把握さえすれば、Excel で計算できるレベルの内容です。JMP でなければならない理由はないのですが…(しまった、愚痴になりそうです)。まあ、MSA ぐらいであれば R で集計を自動化することはたやすいことです。
R を使いこなすには、ある程度の習得期間を必要としますが、ツールを変えることによって業務が Windows や Linux といった OS に依存しなくなります。一方、お金を掛けずに高度な解析にも使うことができる R を使いこなせることは、この方面のエンジニアリング業務では得難い貴重なスキルと言えます。
ということで、データマイニングについては、Linux 環境では R を使いこなせさえすれば、Windows 上の商用の統計解析ソフトウェアがなくともやっていけます。他にも Linux 上でデータマイニングなどに利用できるツールはあるのですが、それらの紹介は省略します。
CAD
特定の OS 上の CAD でなければ出来無い業務は論外ですが、Linux で動作する 2D/3D CAD には、Dassault Systems 社の DraftSight、VariCAD 社の VariCAD が Linux (Ubuntu, Fedora) にも対応しています。その他、QCAD というものもあります。
その他
本記事を書きながらいろいろなサイトを探すうちに、下記のサイトを見つけたので、探すのを止めました。このサイトでは、Linux のソフトウェアの情報がカテゴリに分けられてよく分類されています。人の興味はそれぞれで、どうせ一人の人間の考えだけでは書き尽くせないだろうから、あとは下記のようなサイトを見ていただいた方が良いでしょう。
ただ、業務で使うパソコンの OS を、Windows から Linux へ切り替える場合、パソコン上で自分が使うツールを置き換えられたとしても、まだ何かありそうです。例えば、Cisco の WebEx や、Microsoft Lync などのインターネットを介しておこなう会議システムの Linux 対応はどうなっているかなども調査しておかなければならないでしょう。これらは続編でレポートしていきます。
どの Linux ディストリビューションを使うか?
業務で使うソフトウェアは、特殊なものを除き、大抵は Linux のディストリビューションのパッケージで間に合ってしまうというのが私の考えです。では、どの Linux ディストリビューションが最適でしょうか?
これは結構難しい問題です。私は永らく RedHat 系を使ってきているため、RPM によるパッケージ管理にすっかり慣れてしまっているので、自分がある程度のシステム管理に関わるとすれば、RPM 系のディストリビューションで環境を固めたいのですが、Fedora は通常業務には使えません。新しいパッケージの採用が他のディストリビューションより早く、時として不安定な時がありますし、パッケージ更新が週一回以上というのは頻度が高すぎます。業務で使う場合、セキュリティアップデート以外は、落ち着いたペースでパッケージの更新は管理したいものです。デスクトップ用途については少し整備する手間を必要とするかもしれませんが、手堅いところで CentOS が有力候補になるでしょうか。CentOS は本来はサーバー用途のディストリビューションですので、サーバー用途を含め、ひとつのディストリビューションで基本的にまかなえます。デスクトップ用途については、あまり心配はしていませんが一度評価をしておく必要がありそうです。