Ports クラス
メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。
コンピュータのシリアル ポートにアクセスするためのプロパティおよびメソッドを提供します。
名前空間: Microsoft.VisualBasic.Devices
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
構文

詳細については、Visual Basic のトピック「My.Computer.Ports オブジェクト」を参照してください。
My.Computer.Ports オブジェクトは、.NET Framework のシリアル ポート クラス (SerialPort) にアクセスするための直接的なエントリ ポイントを提供します。
My.Computer.Ports オブジェクトを使ったタスクの例を次の表に示します。

この例では、コンピュータの COM1 シリアル ポートに文字列を送信しています。
Using ブロックを使用すると、例外が生成される場合でもアプリケーションでシリアル ポートを閉じることができます。シリアル ポートを操作するすべてのコードは、このブロック内に記述するか、または Close メソッドと共に、Try...Catch...Finally ブロック内に記述する必要があります。

Microsoft.VisualBasic.Devices.Ports


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Ports コンストラクタ
メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。
名前空間: Microsoft.VisualBasic.Devices
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
構文

詳細については、Visual Basic のトピック「My.Computer.Ports オブジェクト」を参照してください。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Ports プロパティ

関連項目
Ports クラスMicrosoft.VisualBasic.Devices 名前空間
Ports クラス
その他の技術情報
My.Computer.Ports オブジェクトMy.Computer.Ports オブジェクトのメンバ
My.Computer オブジェクト
方法 : Visual Basic で、シリアル ポートに接続されているモデムをダイヤルする
方法 : Visual Basic でシリアル ポートに文字列を送信する
方法 : Visual Basic でシリアル ポートから文字列を受信する
方法 : Visual Basic で利用可能なシリアル ポートを表示する
Ports メソッド
名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | OpenSerialPort | オーバーロードされます。 SerialPort オブジェクトを作成して開きます。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

関連項目
Ports クラスMicrosoft.VisualBasic.Devices 名前空間
Ports クラス
その他の技術情報
My.Computer.Ports オブジェクトMy.Computer.Ports オブジェクトのメンバ
My.Computer オブジェクト
方法 : Visual Basic で、シリアル ポートに接続されているモデムをダイヤルする
方法 : Visual Basic でシリアル ポートに文字列を送信する
方法 : Visual Basic でシリアル ポートから文字列を受信する
方法 : Visual Basic で利用可能なシリアル ポートを表示する
Ports メンバ
コンピュータのシリアル ポートにアクセスするためのプロパティおよびメソッドを提供します。
Ports データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | OpenSerialPort | オーバーロードされます。 SerialPort オブジェクトを作成して開きます。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

関連項目
Ports クラスMicrosoft.VisualBasic.Devices 名前空間
Ports クラス
その他の技術情報
My.Computer.Ports オブジェクトMy.Computer.Ports オブジェクトのメンバ
My.Computer オブジェクト
方法 : Visual Basic で、シリアル ポートに接続されているモデムをダイヤルする
方法 : Visual Basic でシリアル ポートに文字列を送信する
方法 : Visual Basic でシリアル ポートから文字列を受信する
方法 : Visual Basic で利用可能なシリアル ポートを表示する
Ports
Ports
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/20 20:02 UTC 版)
Ports(もしくはPortsツリーやPortsコレクションとも)は、FreeBSD、NetBSD、OpenBSDなどBSDベースのオペレーティングシステムにおいて、ソフトウェアのインストールやバイナリパッケージ作成を単純化する手段として提供される、Makefileとpatchのセットのことである。Portsでパッケージ生成を処理してから追加のツールでパッケージの削除や更新などを管理するので、通常はPortsがパッケージ管理システムの土台となる。BSD以外にもLinuxディストリビューションが類似の機能を実装しており、GentooのPortage、ArchのArch Build System (ABS)、CRUXのPortsやVoid LinuxのTemplatesなどがそれに当たる。
Portsによるインストール方法の主な利点は、利用可能なハードウェアリソースに応じたソフトウェアインストールの調整と最適化を細かく行えることである。例えば、64ビットバイナリがすぐに利用できないため代わりに最適化されていない32ビットバージョンバイナリを利用している64ビットシステムにおいても、システム管理者は一部ソフトウェアの64ビットインストールを容易に作成できる。
その一方で、主な欠点はパッケージのコンパイルに余計な時間がかかることである。例えば、PortsコレクションによるFreeBSDの完全インストールには、システムのパフォーマンスにもよるが数日かかるだろう。
FreeBSD Ports
1994年8月21日、ジョーダン・ハバードは作成したport make macrosをFreeBSD CVSリポジトリにコミットした[1]。ハバードが作成したパッケージインストールスイートであるMakefileは1年前(1993年8月26日)にコミットされた[2]。中核となるPortsフレームワークは、最初の数年間ハバードとSatoshi Asamiにより保守されていたが、後にこの作業を扱うPorts Management Teamが結成された。
NetBSDのpkgsrc
NetBSDのpkgsrc Portsコレクションは移植可能であることを重視されており、NetBSD以外のBSD派生、SmartOS/illumos、macOS[3]、MINIX 3、Linux[4]、またはそれ以外のUnix系など、NetBSDだけではなく多数のオペレーティングシステムで利用可能であるという点を特徴とする。pkgsrcは1997年8月に既存のFreeBSD Portsシステムをベースに作成された。pkgsrcは四半期毎のリリーススケジュールに沿っており、2018年10月時点で22,000を超えるパッケージが含まれている。DragonFly BSDは1.4リリースで、公式パッケージ管理システムにpkgsrcを採用することをアナウンスした[5]。DragonFly BSDはリリース3.4では自前のdportsと呼ばれる固有のPorts実装をビルトする[6]が、3.6でpkgsrcへ完全に切り替えた。DragonFly BSDのPorts開発はGitを通じて行われている[7]。
OpenBSD Ports
OpenBSD Portsシステムは元々のベースであるFreeBSD Portsとは異なり、最初にPortsをインストールしてパッケージを作成してからそのパッケージをインストールするため、最終的な製品であるパッケージの作成に使用されるソースとなることが目的とされている。PortsはMakefile、説明やインストールメッセージが書かれたテキストファイル、OpenBSDで動作するプログラムを調整するために必要なパッチ、そしてパッケージに含まれるファイルを一覧にしたパッキングリストによって構成されている。Portsのツリーは標準的なMakefileのセットを使用するが、Makefileの中にはその機能の大部分を提供するソースコードのツリーと共有されるものもある。これらのツリーが共有された基盤にはPorts開発者にとって有用な機能が多く含まれているため、Ports作成が簡単に行える場合が多いことを意味している。
2007年10月にOpenBSDの開発者であるNikolay Sturmは、-stable Portsツリーはリソース不足のため保守されていないとみなすべきだとアナウンスした。これにより、ユーザーはセキュリティ更新プログラムに対応するために-current Ports/base treeの適用を事実上強制される。2009年にRobert NagyとJasper Lievisse Adriaanseによる監督の下で、-stable Portsツリーの復活が決定した[8] 。
OpenBSD Portsとパッケージの非公式なWebサイトには、以下のものがある:
- OpenPorts.se - 2006年に元々ports.openbsd.nuとしてアナウンスされ[9]、Portsのツリー構造と更新の独自解析を行うカスタム作成のWebサイトである。与えられたPortsの変更を追跡する機能があるが、より複雑なMakefileロジックをサポートしていないという欠点がある。このため、Portsツリー構造と公式ツール使用の複雑な知識を必要とするパッケージの約15%は省略されている[10]。
- ports.su - 2013年2月に公開され、公式のsqlportsデータベースをベースとしている[11]。このため、amd64プラットフォームで利用可能な全てのパッケージとフレーバーの完全なコレクションを持つ。公式ツールをベースとしているため、"virtual"(根源的ではない)カテゴリはすぐに利用可能であり、ライブラリ、ビルド、およびランタイムの依存関係についての情報がある。Webサイトのソースはports-readmes portに強く依存しており、GitHubですぐ利用可能である。
関連項目
- Android Runtime - インストールで事前コンパイルを行う。
- MacPorts
- Portage - Gentoo Linuxで使用される。Portsシステムにインスパイアされた。
脚注
- ^ “CVS log for ports/Mk/bsd.port.mk”. FreeBSD project. 2017年11月29日閲覧。
- ^ “CVS log for src/usr.sbin/pkg_install/Makefile”. FreeBSD project. 2013年4月14日時点のオリジナルよりアーカイブ。2019年9月12日閲覧。
- ^ “Joyent Packages Documentation - Install On macOS”. Joyent. 2018年10月10日閲覧。
- ^ “Joyent Packages Documentation - Install On Linux”. Joyent. 2018年10月10日閲覧。
- ^ Dillon, Matthew. “PKGSRC will be officially supported as of the next release”. 2008年1月23日閲覧。
- ^ “DragonFly 3.4 release planning”. 2017年11月29日閲覧。
- ^ “GitHub - DragonFlyBSD/DPorts: The dedicated application build system for DragonFly BSD”. 2017年11月29日閲覧。
- ^ Yodlowsky, William. “4.6-stable ports”. 2011年6月12日時点のオリジナルよりアーカイブ。2009年12月29日閲覧。
- ^ “ports.openbsd.nu - frontend to ports”. OpenBSD Journal (2006年8月9日). 2017年11月29日閲覧。
- ^ Espie, Marc (2013年6月7日). “Re: Why is there no pkg_find(1)?”. 2017年11月29日閲覧。
- ^ “Introducing ports.su ? ports-readmes mirror and ports search”. OpenBSD Journal (2013年5月2日). 2017年11月29日閲覧。
外部リンク
ports(英語版)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/27 03:22 UTC 版)
「パッケージ管理システム」の記事における「ports(英語版)」の解説
原則的にソースをコンパイルしてインストールするようになっている。このため、PCごとに命令レベルで最適化された、処理効率として無駄の少ない環境を構築できる。ただし、インストールに長時間かかる。バイナリで用意されたパッケージをpkg(8)によりインストールすることもできる。ソースをコンパイルしたものとバイナリでインストールしたものとは単一のデータベースで統一管理されるようになっているため、それぞれのパッケージの性格に応じてソースからのコンパイルとバイナリインストールとを選択することが可能である。詳細はFreeBSDおよびFreeBSD Ports(英語版)を参照。
※この「ports(英語版)」の解説は、「パッケージ管理システム」の解説の一部です。
「ports(英語版)」を含む「パッケージ管理システム」の記事については、「パッケージ管理システム」の概要を参照ください。
- Portsのページへのリンク