Posts

Oracle OLEDB Provider Version 12.2.0.1.0 for Windows x86をインストールする際のエラー

Image
Windows 7 Professional 32-bitに、Oracle OLEDB Provider Version 12.2.0.1.0をインストールするには、 例えば、C:\app\instantclient_12_2に必要なDLLを揃えて、PATH環境変数にこのディレクトリーを追加した後で、 regsvr32 C:\app\instantclient_12_2\oraoledb12.dllを実行すれば良い。 しかし、「指定されたモジュールが見つかりません。」のエラーが出ることがある。 こうなるとOLEDB Providerは登録されないので、OLEDB経由でOracle Databaseに接続することはできない。 これは、Visual C++ 2013 redistributableを インストールすることで解消された。

Is it time for open processors?

Is it time for open processors? を読んだので翻訳しておく。 ただし、正しく訳せているとは思わない。 これは、 Jonathan Corbet氏による2018年1月9日のlwn.netにおける記事で、 Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) で公開されている。 Is it time for open processors? MeltdownとSpectreの2つの脆弱性の公開により、 ハードウェアレベルのセキュリティー上の問題が存在し得ることに、 改めて注目が集まっている。 ソフトウェアの脆弱性に関しては、まだ脆弱なソフトウェアのセキュリティー の解消のために非常に多くの努力がされているが、 ハードウェアな脆弱なままであれば、全て無駄な努力である。 私たちのシステムを動かしているCPUは、高度にプロプライエタリーであり、 嬉しくない驚きを内包していることが示されている (例えば、Intel Management Engine)。 そうなると、ソフトウェアがそうであったように、 オープンソースハードウェアに移行しようという動きがでてくるのは当然だろう。 オープンソフトウェアハードウェアへの移行は可能かもしれないし、 確かに利点はあるが、それで全てが解決する訳ではないだろう。 現代のCPUは複雑であり、販売されている市場は過酷な状況である。 オープンなやり方でCPUを開発しようと言うのは驚かれるかもしれない。 しかし、この分野でもオープンな開発を進める動きはある。 オープンなCPUと言う考えは、ファンタジーではない。 以下に、いくつかの事例を紹介する。しかし網羅的なものではない。 既に公開されているもの POWERアーキテクチャーを元にしたOpenPOWERの事例を見てみよう。 これは真にオープンソースではない。 主体的に利用するのであれば、OpenPOWER Foundationに加盟しなければならない。 しかし、プロセッサーを共同作業として開発するという例ではある。 比較的オープンな設計に基づいた製品が出荷されている。 OpenPOWERは、ハイエンドに特化している。 この設計に基づいたチップが、近い将来携帯電話やノートP…

2017年の25日間のまとめ

この記事は、 NetBSD Advent Calendat 2017 の25日目の記事です。 もうすっかり遅くなりましたが、勝手にまとめを書きます。 まとめ 自分の書いた記事は、とりあえず置いておいて、 簡単に振り返っておきたいと思います。 1日目は、furandon_pigさんの記事です。 /usr/share/examples/asmディレクトリー内にアセンブリ言語での Hello, World!を皮切りに、各アーキテクチャー向けの アセンブリプログラミングについて紹介していただきました。 2日目もfurandon_pigさんの記事です。 キングジムPomera DM20の内部ストレージをsd(4)として見てみる話を紹介して いただきました。 3日目は、ebijunさんの記事です。 Open Source Conferenceに1年間を通じて参加するのに合わせて、 Raspberry Pi向けのSDカードイメージファイルを作成され、 動作確認をされた話をご紹介いただきました。 7日目は、furandon_pigさんの記事です。 NetBSDでのnilfsというログ構造化ファイルのサポートについて ご紹介いただきました。 14日目は、jr9qnjさんの記事です。 Raspberry PiSCSIデバイスにするRaSCSIについて、 X68000の実機に接続し、NetBSD/x68kで使えるように された功績をご紹介いただきました。 ぜひNetBSD-currentに入れて欲しいです。 16日目は、nullnilakiさんの記事です。 bintime_add(9)をコメントアウトするところから始め、 カーネル内のタイマーについてご紹介いただきました。 19日目は、tisiharaさんの記事です。 pkg_rolling-replaceを使って便利にpkgsrcからインストールした パッケージをアップデートする方法をご紹介いただきました。 20日目は、610tさんの記事です。 SUNXIカーネルを、NanoPi NEO2で動かすと、現状どのようになるかを ご紹介いただきました。 早く本格的にNanoPi NEO2がサポートされると嬉しいですね。 21日目は、oshimyjaさんの記事です。 NetBSD/amd64でのUEFIブートについてご紹介…

2018年に実現して欲しいことを夢想してみる

この記事は、NetBSD Advent Calendar 2017の23日目の記事です。 代わりに投稿できるようになっているので、勝手に投稿してしまいます。 すみません。 間に合っていませんが… 2018年に実現して欲しいこと 一ユーザーとして、あったらうれしいものを挙げておきます。 NetBSDAmazon Web Service EC2のElastic Network Adaptorのサポート (FreeBSDで言うena(4))Microsoft Hyper-Vサポート (第1世代の仮想マシン、第2世代の仮想マシン)UEFIでの光学ディスクからの起動ができるようにもっと多くのArmのボードでfdt(4))対応が進むことMicroBlazeやNios2、RISC-VのようなFPGAに実装されるCPUへの移植qemuのエミュレートする各種ボードへの移植UEFIでのブートがもっと多くのマシンでできるように(少なくとも私の常用するdynabook R63/PSは駄目なので…)VMware Workstation Playerの共有フォルダーをマウントできるようにVirtualBoxの共有フォルダーをマウントできるようにcramfsをマウントできるようにfdt(4)をMIPSにもNFS 4/4.1対応ugen(4)が常に使えるようにevdevの追加VirtualBoxをNetBSD上で動かせるようにアイソクロナス転送をehci/xhciで可能にする 私はカーネルのこととかは分かりませんが、来年は良く勉強して上述の うち1つでも自分でできればと思ってはいます。 pkgsrcGNU Hurdへの移植ia16クロスツールチェーンのパッケージの作成The pkgsrc guideのEPUB3版を用意するpkg-vulnerabilitiesの効率的な作成を補助するツールを作成するopenSUSE 42.3ベースのcompat_linux用パッケージを作成するRump kernelの活用ができないかRust for earmChromiumウェブブラウザーの移植mingw64に移植Widevine CDMをwww/firefoxで使えるようにするinput/fcitxのアップデートとmozcを使えるように どこまでできるか分かりませんが、進めていきたいと思います。

Cubieboard2でpkgsrcの開発をする際に気を付けていること

この記事は、NetBSD Advent Calendar 2017の24日目の記事です。 代わりに投稿できるようになっているので、勝手に投稿してしまいます。 もう25日ですし。 はじめに ArmアーキテクチャーのNetBSD用のパッケージをpkgsrcで作ることが あります。 大抵のArmのCPUの載ったボードは、SDカードやmicroSDカードを ルートファイルシステムにしています。 SDカード等には、ウェアレベリングの機能などありませんから、 何かを長時間ビルドすると、書き込み回数が多くて、壊れてしまいます。 今回は、いつもビルドに使っているCubieborad2の場合に、この問題に 対処すべくやっていることを書いておきます。 スワップ領域の問題 スワップ領域は、ダウンロードして来たarmv7.imgにも設定 されていますが、非常に小さく役に立ちません。 Cubieboard2ですと、SATAの端子があって、SATAのSSDやHDDを接続できますので、 そちらのファイルシステム内に、スワップ領域を作っておきます。 # dd if=/dev/zero of=/home/ryoon/swapfile bs=1m count=4096 # chmod 600 /home/ryoon/swapfile # swapctl -a -p 0 /home/ryoon/swapfile その上で、従来のmicroSDカード上のスワップを無効にし、 これを常に使うようにしてしまいます。/etc/fstab以下のように 置き換えます。 /home/ryoon/swapfile none swap sw 0 0 一時ファイルの置き場所をSSD/HDDにする これは、TMP環境変数を定義し直すのでも良いのかもしれませんが、 /tmpにSSD/HDDのパーティションの1つを割り当ててしまいます。 以下のように/etc/fstabを変更します。 /dev/wd0e sw,log 1 1 その上で、マシンをリブートさせます。 mount -aで良いように思われるかもしれませんが、 既にディレクトリーやUNIXドメインソケット等が作成されているかもしれませんので、 再起動をお勧めします。 まとめ 簡単ですが、pkgsrcの開発をする際に、SDカード等を破損させないために 私がし…

NetBSDマシンをソフトウェアトークンとして使いqiitaに二段階認証でログインできるようにする

この記事は、NetBSD Advent Calendar 2017の12日目の記事です。 すっかり遅くなっていますが、代わりに投稿できるようになっていたので、 勝手に投稿してしまいます。 あまりNetBSDにもpkgsrcにも直接関係ないような気もしますが…。 はじめに Two Factor Authenticationは、二段階認証と日本語訳されているようです。 qiitaでも、この二段階認証を使ってログインできるようになっています。 普通は、Google Authenticatorのようなスマートフォンで使用できる ソフトウェアを使って、二段階認証のワンタイムパスワードを 生成すると思います。 しかし、pkgsrcにもsecurity/2faと言う パッケージで、コマンドラインのプログラムが用意されています。 これは、https://github.com/rsc/2fa で公開されているものをパッケージにしたものです。 Go言語で書かれています。 これを使ってqiitaにログインしてみました。 2faコマンドのインストール Goコンパイラーが動くアーキテクチャーである必要があります。 私はNetBSD/amd64を使っているので、無事にビルドできました。 以下のように操作します。 $ cd /usr/pkgsrc/security/2fa $ make install これで/usr/pkg/bin/2faというコマンドがインストールされました。 二段階認証を設定する 二段階認証の設定ページより、QRコードの代わりに、テキストでキーを表示させます、 ここでは、abc123と表示されたと仮定します。 $ 2fa -add qiita 2fa key for qiita: abc123 これで、準備は整いました。 初回のワンタイムパスワードを生成してみます。 ここで、qiitaは時間ベースのワンタイムパスワード(TOTP)を受け付けて くれるようです。 $ 2fa qiita 123456 これで、123456と言うワンタイムパスワードが得られました。 これを、qiitaのページに入力します。 二段階認証でログインする 一度ログアウトして、二段階認証を使ってログインしてみます。 ユーザーIDとパスワードを入力した後、ワンタイムパスワードが求められる…

NanoPi NEOでNetBSDを使ってみる

Image
この記事は、NetBSD Advent Calendar 2017の11日目の記事です。 すっかり遅くなっていますが、代わりに投稿できるようになっていたので、 勝手に投稿してしまいます。 とは言っても、小ネタですが…。 はじめにオープンソースカンファレンス2017 Chibaに行った際に、えびはらさんに、 NanoPi NEOを紹介いただきました。 Allwinner H3と言うsun8iアーキテクチャーのArm Cortex-A7の4コアのCPUと、 512MBのメインメモリーを搭載しています。 ビデオ出力はありません。シリアルコンソールでの接続になります。 また、Gigabit EthernetとUSB 2.0のポートを1つずつ持っています。 私は、秋月電子通商 のウェブサイトで購入しました。 microSDカードを準備する lNetBSD/evbearmv7hf-elのSUNXIカーネルが使用できます。 NetBSD/evbarm on Allwinner Technology SoCsにある通りですが、 まずはhttp://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/から、 evbarm-earmv7hf/binary/gzimg/armv7.img.gzをダウンロードします。 次に、これを2GB以上のmicroSDカードに書き込みます。 以下のように実行します。 # gzcat armv7.img.gz | dd of=/dev/ld0d bs=1m AllwinnerのSoCを搭載したマシンで起動させるには、u-bootを使用する必要 があります。 以下のようにして、u-bootのバイナリーを作成します。 $ cd /usr/pkgsrc/sysutils/u-boot-nanopi-neo $ make install これで、/usr/pkg/share/u-boot/nanopi-neo/u-boot-sunxi-with-spl.bin にu-bootのバイナリーが作成できました。 このu-bootバイナリーをmicroSDカードに書き込みます。 以下のように操作します。 # dd if=/usr/pkg/share/u-boot/nanopi-neo/u-boot-sunxi-with-s…