レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

F8

FreeBSDでportsを更新する

2010年7月17日 2014年1月17日
how to freebsd

さて、今回は、apacheのインストールの前に、portsのアップデート手順です。
FreeBSDでは、何かをインストールする場合、portsを使うことが多いと思います。しかし、そのports自身もアップデートが必要です。 ports自身のアップデートを行わないと、各サーバーの最新へのアップデートができません。

更には、既にインストールしたパッケージ( ports,packages いずれでも ) が古くなってしまうこともあります。そのアップデートも必要になります。

ここでは、先の ports 自身 ( Ports Collection ) のアップデート および 既にインストールしたパッケージの更新手順について簡単に解説してみます。

Ports Collection をインストールする

まず、ports を利用するには、Ports Collection が必要です。

Ports Collection がインストールされているかどうか確認するには、以下のディレクトリが存在するかどうか確認すれば良いです。

/usr/ports /usr/ports/ports-mgmt
( 少なくとも、ここでは、/usr/ports/ports-mgmt を利用します。 )

もし、Ports Collectionがインストール済なら、portsnapで最新に更新する から進めてください。

Ports Collection をインストールするには、大きく2つの方法があります。

いずれも一長一短ありますが、最新のものをインストールするためにも前者の portsnapインターネットを使ってインストールする方法 をおすすめします。

ここでは、先の2つの方法を簡単に解説しておきます。

以降の portsnap update で Ports Collection を更新する 場合には、少なくとも1回以上のportsnap fetch が実行されていないといけません。 その点からも portsnapインターネットを使ってインストールする方法 でのインストールを強くおすすめします。


portsnapインターネットを使ってインストールする方法

portsnapは、システムコマンドで、FreeBSD 8.0以降では、インストールの必要はありません。
FreeBSD 7.0で、インストールされていない場合、/usr/ports/ports-mgmt/portsnap で make install すると良いでしょう。 ただ、まだ、Ports Collection さえインストールできていない状態であれば、CD/DVDからPorts Collection をインストールしましょう。
  1. portsの最新情報を取得します
    $ portsnap fetch
    ...
    $ 
    もし、portsnapでうまく最新情報を取得できない場合は、ports パッケージサイトが正しく設定されていないかもしれません。
    ( ほとんどは、自分で勝手にPACKAGESITEを指定してしまっている場合が多いです。 )

    その場合、portsパッケージのFTPサイトを最新のディレクトリへ設定しておきます。
    [ csh/tcsh の場合 ]
    $ setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/

    [ bash の場合 ]
    $ export PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/
    上記の例は、FreeBSD 8.0 の最新のディレクトリです。
    各バージョンとURLは、以下のとおりです。
    • FreeBSD 8.0 (32bit)
      : ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/
    • FreeBSD 8.0 (64bit)
      : ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/
    • FreeBSD 8.2 (32bit)
      : ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/Latest/
    • FreeBSD 8.2 (64bit)
      : ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.2-release/Latest/

    あるいは、unsetやればうまくいくこともありえます。
    [ csh/tcsh の場合 ]
    $ unsetenv PACKAGESITE

    [ bash の場合 ]
    $ unset PACKAGESITE

  2. 取得したportsの最新情報を展開します
    $ portsnap extract
    ...
    $ 

sysinstall CD/DVDを使ってインストールする方法

  1. sysinstall を起動します
    $ sysinstall
    コンソールやSSH接続のクライアントからでOKです。

  2. [ Configure ] を選択し、Enter

  3. [ Distributions ] を選択し、Enter

  4. [ ports ] を選択し、Space

  5. [ CD/DVD ] を選択し、OK

    インストール実行中画面

    インストール完了したら、メニュー画面に戻ります。
    [ X Exit ] を選択し、OK

    [ X Exit Install ] を選択

    [ OK ] を選択


portsnapで Ports Collection を最新に更新する

portsnapとインターネットで、Ports Collection ( portsツリー ) を最新に更新します。

やり方は、簡単で、以下のコマンドを投入するだけです。

$ portsnap fetch update
...
$ 
これは、以下のように2回に分けて実行するのを1回で済ませているだけです。
$ portsnap fetch
...
$ portsnap update
...
このやり方でも問題ありません。
一度も portsnap fetch を実行していない場合は、以下のようなエラーが表示されます。
$ portsnap update
No snapshot available.  Try running
# portsnap fetch
この場合、まずは、以下のように実行してください。
$ portsnap fetch
...
$ portsnap extract
...
extract も実行しないとupdateでエラーとなります。
cronで Ports Collection のアップデートを自動化しておくと便利です。

以下の例では、毎日3時に更新されます。(portsnap update)
$ vi /etc/crontab
...
0	3	*	*	*	root	/usr/sbin/portsnap cron && portsnap update > /dev/null

ここまで設定しておくと、何も意識せずに常にportsは最新状態となります。

portupgradeをインストールする

FreeBSDでは、おなじみのportsでportupgradeをインストールします。 ここでは、portupgradeをインストールします。

portupgrade をインストールする

portupgrade をインストールするには、packages (バイナリインストール) と ports を使うやり方があります。
( もちろん、packages を使う方が、時間的には楽です。)

以下にそれぞれのやり方について簡単に解説しておきます。


packages を使ってインストールする

$ pkg_add -r portupgrade
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/Latest/portupgrade.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/ruby-1.8.7.302,1.tbz... Done.

====
Note that some of the standard libraries are provided as separate
ports since they require extra dependencies:

        converters/ruby-iconv   iconv module

        databases/ruby-gdbm:    GDBM module

        x11-toolkits/ruby-tk:   Tcl/Tk modules
        japanese/ruby-tk:       Tcl/Tk modules for Japanized Tcl/Tk

        lang/ruby-mode.el:      Emacs lisp modules

Install them as occasion demands.
====

Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/db41-4.1.25_4.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/ruby18-bdb-0.6.5_1.tbz... Done.

------------------------------------------------------------------------------
      Fill ALT_PKGDEP section in pkgtools.conf file for portupgrade
      be aware of alternative dependencies you use.
      E.g.
      ALT_PKGDEP = {
        'www/apache13' => 'www/apache13-modssl',
        'print/ghostscript-gnu' => 'print/ghostscript-gpl',
      }

      Note also, portupgrade knows nothing how to handle ports with different
      suffixes (E.g. -nox11). So you should explicitly define variables
      (E.g. WITHOUT_X11=yes) for the ports in /etc/make.conf or pkgtools.conf
      (MAKE_ARGS section) files.
------------------------------------------------------------------------------
$ 

ports を使ってインストールする

  1. portupgradeのportsディレクトリへ切り替える
    $ cd /usr/ports/ports-mgmt/portupgrade
    $ 

  2. portupgradeをインストールする
    $ make -DBATCH WITH_BDB4=yes install clean
    ...

    オプションの設定を行う場合は、以下の項目をチェックします。
    チェックされていなかったら、チェックします。

    [X] BDB4  Use Berkeley DB >=2 as backend. (Use BDB 1.85 if off) 

    makeを終えたら、csh/tcsh を使っている場合は、パスを更新するのを忘れないようにしましょう。
    $ rehash

portupgradeを設定する

portupgradeで共通に利用する設定ファイル ( pkgtools.conf ) に、make 実行時の常時設定するパラメータを設定しておきます。

$ chmod 644 /usr/local/etc/pkgtools.conf
$ vi /usr/local/etc/pkgtools.conf
...

  MAKE_ARGS = {
    # 以下の行を追加します。 
    '*' => [
        'WITH_BDB_VER=42',
        'WITHOUT_IPV6=yes',
        'WITHOUT_X11=yes',
    ],
  }
ここで設定しているのは、make実行時のパラメータになります。
それぞれ以下のような意味です。
  • ‘WITH_BDB_VER=42’, = BerkeleyDBのバージョンを4.2に統一する。
  • ‘WITHOUT_IPV6=yes’, = IPV6関連をインストールしない。
  • ‘WITHOUT_X11=yes’, = X11関連をインストールしない。

とりあえず、ここまででインストール完了です。 次からportsのアップグレード(更新)です。

portupgradeで既にインストール済のパッケージを更新する

portupgradeを使って、既にインストール済のパッケージをアップグレード(更新)をしましょう。

portsの依存関係を更新します。

$ pkgdb -aF
...

上記の例では、portsの依存関係を自動更新します。
pkgdb -Fとすると、対話形式で更新していきます。


更新が必要か確認します。

$ portversion -v | grep "<"
...

上記の例で、何か出力される場合は、portsの更新が必要かもしれないものがあるということです。
その中で、本当に必要なものがあるかチェックします。更新が必要な場合は、portupgradeを使って、アップデート(更新)をしましょう。


インストールしているパッケージを更新します。

アップデートが必要なものをすべて(依存関係を含めて)更新する場合

$ portupgrade -a -R
...

-a: すべて更新するの意味です。
-R: 依存関係も含めて更新するの意味です。


あるインストールしているパッケージ(依存関係を含めて)のみを更新する場合

$ portupgrade -R vim
...

ここでは、vim というパッケージを更新しています。

-R: 依存関係も含めて更新するの意味です。


あるインストールしているパッケージ(依存関係を含めて)のみを packages を使って更新する場合

portupgrade は、何も指定しない場合、ports を使って更新しようとします。
そのため、時間がかかることがあります。その時間が惜しいときも多いですよね。そんなときは、packages を使って更新するようにパラメータを指定します。

$ portupgrade -P -R vim
...

ここでは、vim というパッケージを更新しています。

-P: packages を使って更新するの意味です。
-R: 依存関係も含めて更新するの意味です。

-P が指定されている場合、
PKG_PATH に登録されているローカルディレクトリを検索します。 ローカルに packages が見つからなければ、 リモートサイトからダウンロードを試みます。 packages をローカルに見つけることができず、 リモートサイトからもダウンロードできない場合には、 portupgrade は ports からインストールを行ないます。

どうしても ports からのインストールを行いたくない場合は、
-PP: 強制的にpackages を使って更新するの意味です。
を指定します。

こういった手間をかけるとFreeBSDは、すごく便利になってくれる?に違いない・・・と思います。たぶん。
何度でも言いますけど、費用対効果から考えると FreeBSDは、かなり厳しいものがあります。ただ、FreeBSDは、バージョンアップしても互換性を大事にするOSでもありますから、知識・技術を習得すればずっと使えるという利点もあります。

ただ、単純にウェブサイトを立ち上げたいだけなら、共有格安レンタルサーバーでも十分です。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

FreeBSDでバイナリ package を作って配布する方法

FreeBSDのソフトウェアのパッケージ管理システムは、ビルド済み( バイナリ )パッケージをインストールするpackageとソースをビルドする ...

FreeBSDでportupgrade を使わないでPHPバージョンアップしてみる

先にphpのインストールを行いましたが、phpは、セキュリティホールの見つかりやすいので、アップデートが必要な場合がよくあります。 今回は、p ...

csh (tcsh) を日本語化(UTF8)してもエラー出力は英語のままなので日本語化してみた

FreeBSDのデフォルトのシェルはtcshです。その親とも言うべきシェルがCシェルと呼ばれる csh です。 そのcshのユーザーインタ ...

FreeBSDのセキュリティアップデート

さて、今回は、FreeBSDのシステムアップデート手順です。 FreeBSDでは、セキュリティ対応のため自動アップデートできるような仕組みがあ ...

FreeBSDでlogrotateをインストール

さて、今回は、最後のapacheのインストールの前のひと手間、ログの設定です。 FreeBSDでは、logrotate(ロギング)が提供されて ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.1689 [s]