スタンドアロンのLinuxでyumを利用する方法

August 22,2017 12:03 AM
Category:[Linux]
Tag:[Linux]
Permalink

スタンドアロンのLinuxでyumを利用する方法を紹介します。

1.はじめに

Linuxでyumを利用する場合、インターネット接続されている状態が普通だと思いますが、検証環境によってはインターネット接続されていないケースもあります。

yumが利用できないとRPMパッケージからのインストールか、ソースコードからのコンパイルが必要になり、面倒です。

ということで、スタンドアロンのLinuxでyumを利用する方法を紹介します。

2.スタンドアロンのLinuxでyumを利用する

スタンドアロンのLinuxでyumを利用するには、メディアとして、Linuxディストリビューション(ここではRHEL)のisoファイル・イメージ(CD/DVD等)を利用します。

まず、メディア(/dev/cdrom)を(/media/redhat)にマウントします。mountコマンド実行で「~mounting read-only」が表示されますが問題ありません。

# cd /media
# mkdir redhat
# mount -t iso9660 /dev/cdrom /media/redhat
mount: /dev/sr0 is write-protected, mounting read-only
# ls -l /media/redhat
合計 780
-r--r--r--.  1 root root   8266  4月  4  2014 EULA
-r--r--r--.  1 root root  18092  3月  6  2012 GPL
dr-xr-xr-x.  2 root root   2048 10月 20  2016 LiveOS
 :
dr-xr-xr-x.  2 root root   4096 10月 20  2016 repodata

次にリポジトリ定義用設定ファイル(.repo)を作成します。

# cd /etc/yum.repos.d
# vi media_default.repo

下記の内容を設定してmedia_default.repoを保存します。

[media_default]
name=media_default
baseurl=file:///media/redhat
gpgcheck=0
enabled=0

/etc/yum.repos.d配下にはデフォルトの.repoファイルがありますが、次のyumコマンドを実行するとデフォルト状態に書き替わってしまったため、ここではmedia_default.repoという別ファイルを作りました。

設定は以上です。

yumコマンドでパッケージリストを取得します。

# yum --disablerepo=\* --enablerepo=media_default list
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
インストール済みパッケージ
GeoIP.ppc64                            1.5.0-11.el7                @anaconda/7.3
NetworkManager.ppc64                   1:1.4.0-12.el7              @anaconda/7.3
NetworkManager-config-server.ppc64     1:1.4.0-12.el7              @anaconda/7.3
  :
(後略)

"--disablerepo"は通常有効になっているリポジトリを無効にするオプション、"--enablerepo"はリポジトリを指定するオプションです。

ためしにglibc-develをyumでインストールしてみます。

# yum --disablerepo=\* --enablerepo=media_default install glibc-devel
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ glibc-devel.ppc64 0:2.17-157.el7 を インストール
--> 依存性解決を終了しました。
 
依存性を解決しました
 
================================================================================
 Package            アーキテクチャー
                                 バージョン          リポジトリー          容量
================================================================================
インストール中:
 glibc-devel        ppc64        2.17-157.el7        media_default        1.1 M
 
トランザクションの要約
================================================================================
インストール  1 パッケージ
 
総ダウンロード容量: 1.1 M
インストール容量: 1.4 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
  インストール中          : glibc-devel-2.17-157.el7.ppc64                  1/1
media_default/productid                                  | 1.6 kB     00:00
  検証中                  : glibc-devel-2.17-157.el7.ppc64                  1/1
 
インストール:
  glibc-devel.ppc64 0:2.17-157.el7
 
完了しました!

正常にインストールできました。

Comments [0] | Trackbacks [0]

PostgreSQLをLinuxでソースコードからビルドして利用する方法

August 17,2017 1:23 AM
Category:[PostgreSQL]
Tag:[]
Permalink

PostgreSQLをLinuxでソースコードからビルドして利用する方法を紹介します。

1.PostgreSQLソースのダウンロード

PostgreSQLのソースは、最新バージョンである下記のページにアクセスします(2017年8月現在)。

このページにある、"postgresql-9.6.3.tar.gz"をダウンロード。

2.ソースコードのビルド

ソースコードをビルドします(コマンドは赤色)。

# ./configure --without-readline
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
 :
config.status: linking src/backend/port/dynloader/linux.h to src/include/dynloader.h
config.status: linking src/include/port/linux.h to src/include/pg_config_os.h
config.status: linking src/makefiles/Makefile.linux to src/Makefile.port
# make
make -C src all
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src' に入ります
make -C common all
make[2]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src/common' に入ります
make -C ../backend submake-errcodes
make[3]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src/backend' に入ります
prereqdir=`cd 'utils/' >/dev/null && pwd` && \
          cd '../../src/include/utils/' && rm -f errcodes.h && \
          ln -s "$prereqdir/errcodes.h" .
make[3]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src/backend' から出ます
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -O2 -DFRONTEND -I../../src/include -D_GNU_SOURCE  -DVAL_CONFIGURE="\"'--without-readline'\"" -DVAL_CC="\"gcc\"" -DVAL_CPPFLAGS="\"-DFRONTEND -D_GNU_SOURCE\"" -DVAL_CFLAGS="\"-Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -O2\"" -DVAL_CFLAGS_SL="\"-fpic\"" -DVAL_LDFLAGS="\"-L../../src/common -Wl,--as-needed -Wl,-rpath,'/usr/local/pgsql/lib',--enable-new-dtags\"" -DVAL_LDFLAGS_EX="\"\"" -DVAL_LDFLAGS_SL="\"\"" -DVAL_LIBS="\"-lpgcommon -lpgport -lz -lrt -lcrypt -ldl -lm  \""  -c -o config_info.o config_info.c
 :
make -C config all
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/config' に入ります
make[1]: `all' に対して行うべき事はありません.
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/config' から出ます
All of PostgreSQL successfully made. Ready to install.
# make install
make -C src install
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src' に入ります
make -C common install
make[2]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src/common' に入ります
make -C ../backend submake-errcodes
 :
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/src' から出ます
make -C config install
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/config' に入ります
/bin/mkdir -p '/usr/local/pgsql/lib/pgxs/config'
/usr/bin/install -c -m 755 ./install-sh '/usr/local/pgsql/lib/pgxs/config/install-sh'
/usr/bin/install -c -m 755 ./missing '/usr/local/pgsql/lib/pgxs/config/missing'
make[1]: ディレクトリ `/home/y-araki/postgresql-9.6.3/config' から出ます
PostgreSQL installation complete.

3.DBD::Pgインストール

Perlで利用したいため、DBD::Pgをインストールしました。

CPANからダウンロードしたDBD-Pg-3.6.2のアーカイブをLinux上で展開し、インストールします。

# cd DBD-Pg-3.6.2
# ls -l
合計 640
-rw-r--r--. 1 1000 1000  59734  5月 23 23:23 2017 Changes
drwxr-xr-x. 2 1000 1000   4096  5月 23 23:24 2017 LICENSES
-rw-r--r--. 1 1000 1000    747  4月 20 08:44 2017 MANIFEST
-rw-r--r--. 1 1000 1000    359  4月 20 08:44 2017 MANIFEST.SKIP
-rw-r--r--. 1 1000 1000   1675  5月 23 23:23 2017 META.yml
-rw-r--r--. 1 1000 1000  11177  5月 23 23:23 2017 Makefile.PL
-rw-r--r--. 1 1000 1000   8567  3月 29 07:03 2017 Pg.h
-rw-r--r--. 1 1000 1000 176872  5月 23 23:23 2017 Pg.pm
-rw-r--r--. 1 1000 1000  19749  4月  3 23:46 2017 Pg.xs
-rw-r--r--. 1 1000 1000  12217  5月 23 23:23 2017 README
-rw-r--r--. 1 1000 1000  30715  4月 26 11:19 2017 README.dev
-rw-r--r--. 1 1000 1000   2436  3月 29 06:10 2017 README.win32
-rw-r--r--. 1 1000 1000   3734  5月 23 23:24 2017 SIGNATURE
-rw-r--r--. 1 1000 1000   1887  3月 31 09:03 2017 TODO
-rw-r--r--. 1 1000 1000 162413  5月 23 23:22 2017 dbdimp.c
-rw-r--r--. 1 1000 1000  11296  4月  5 21:36 2017 dbdimp.h
-rw-r--r--. 1 1000 1000   2016  3月 29 06:10 2017 dbivport.h
drwxr-xr-x. 3 1000 1000   4096  5月 23 23:24 2017 lib
-rw-r--r--. 1 1000 1000  34222  4月 20 08:37 2017 quote.c
-rw-r--r--. 1 1000 1000   1501  3月 29 06:10 2017 quote.h
drwxr-xr-x. 3 1000 1000   4096  5月 23 23:24 2017 t
-rwxr-xr-x. 1 1000 1000   5419  4月  7 23:02 2017 testme.tmp.pl
-rw-r--r--. 1 1000 1000  42748  3月 29 07:03 2017 types.c
-rw-r--r--. 1 1000 1000   6198  3月 29 06:23 2017 types.h
-rw-r--r--. 1 1000 1000   2487  3月 29 06:10 2017 win32.mak
# perl Makefile.PL
Configuring DBD::Pg 3.6.2
PostgreSQL version: 90603 (default port: 5432)
POSTGRES_HOME: (not set)
POSTGRES_INCLUDE: /usr/local/pgsql/include
POSTGRES_LIB: /usr/local/pgsql/lib
OS: linux
Checking if your kit is complete...
Looks good
Warning: prerequisite Time::HiRes 0 not found.
Using DBI 1.636 (for perl 5.010001 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/
Writing Makefile for DBD::Pg
# make
cp lib/Bundle/DBD/Pg.pm blib/lib/Bundle/DBD/Pg.pm
cp Pg.pm blib/lib/DBD/Pg.pm
/usr/bin/perl -p -e "s/~DRIVER~/Pg/g; s/^do\(/dontdo\(/" /usr/local/lib64/perl5/auto/DBI/Driver.xst > Pg.xsi
/usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp  -typemap /usr/share/perl5/ExtUtils/typemap  Pg.xs > Pg.xsc && mv Pg.xsc Pg.c
gcc -c  -I/usr/local/pgsql/include -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERSION=90603 -DPGDEFPORT=5432 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"3.6.2\" -DXS_VERSION=\"3.6.2\" -fPIC "-I/usr/lib64/perl5/CORE"   Pg.c
 :
chmod 755 blib/arch/auto/DBD/Pg/Pg.so
cp Pg.bs blib/arch/auto/DBD/Pg/Pg.bs
chmod 644 blib/arch/auto/DBD/Pg/Pg.bs
Manifying blib/man3/Bundle::DBD::Pg.3pm
Manifying blib/man3/DBD::Pg.3pm
# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib64/perl5/auto/DBD/Pg/Pg.so
Installing /usr/local/lib64/perl5/auto/DBD/Pg/Pg.bs
Installing /usr/local/lib64/perl5/Bundle/DBD/Pg.pm
Installing /usr/local/lib64/perl5/DBD/Pg.pm
Installing /usr/local/share/man/man3/Bundle::DBD::Pg.3pm
Installing /usr/local/share/man/man3/DBD::Pg.3pm
Appending installation info to /usr/lib64/perl5/perllocal.pod

4.PostgreSQLユーザアカウント作成

PostgreSQL用のアカウントを作成します。下記のページを参考にしました。

17.1. PostgreSQLユーザアカウント

# groupadd postgres
# useradd -d /home/postgres -g postgres -s /bin/tcsh postgres
# passwd postgres
ユーザー postgres のパスワードを変更。
新しいパスワード:
よくないパスワード: 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
# chown postgres /usr/local/pgsql
# ls -l
合計 48
drwxr-xr-x. 17 root     root 4096  4月 10 11:17 2017 apache2
drwxr-xr-x.  2 root     root 4096  7月 27 10:52 2017 bin
drwxr-xr-x.  2 root     root 4096  9月 23 20:50 2011 etc
drwxr-xr-x.  2 root     root 4096  9月 23 20:50 2011 games
drwxr-xr-x.  2 root     root 4096  4月 10 10:08 2017 include
drwxr-xr-x.  4 root     root 4096  4月 10 10:08 2017 lib
drwxr-xr-x.  3 root     root 4096  4月 10 11:30 2017 lib64
drwxr-xr-x.  2 root     root 4096  9月 23 20:50 2011 libexec
drwxr-xr-x.  7 postgres root 4096  7月 27 14:10 2017 pgsql
drwxr-xr-x.  2 root     root 4096  9月 23 20:50 2011 sbin
drwxr-xr-x.  8 root     root 4096  4月 10 11:30 2017 share
drwxr-xr-x.  2 root     root 4096  9月 23 20:50 2011 src
# su - postgres
$ setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
$ set path = ( /usr/local/pgsql/bin $path )

5.データベースクラスタの作成

PostgreSQLユーザでデータベースクラスタを作成します。下記のページを参考にしました。

17.2. データベースクラスタの作成

$ initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
 
The database cluster will be initialized with locale "ja_JP.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "ja_JP.UTF-8"
The default text search configuration will be set to "simple".
 
Data page checksums are disabled.
 
creating directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
 
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
 
Success. You can now start the database server using:
 
    pg_ctl -D /usr/local/pgsql/data -l logfile start

6.データベースサーバの起動

データベースサーバを起動します。起動方法はいろいろあるようですが、下記のページを参考にしました。

17.3. データベースサーバの起動

$ pg_ctl -D /usr/local/pgsql/data -l logfile start
server starting

7.データベースユーザの作成

データベース用のユーザ"mtuser"を作成します。

$ createuser -P --no-adduser --no-createdb --no-createrole mtuser
Enter password for new role:
Enter it again:

8.データベースの作成

データベース"hoge"を作成します。

$ createdb --owner mtuser hoge

9.その他

ここまでの作業でMovableTypeをPostgresQLで動かせると思ったのですが、起動しても「データベースモジュールが見つかりません」となり、インストールしたはずのDBD::Pgが表示されます。

postgresql.confに下記の1行を追加し、ldconfigを実施することで解消しました。

下記のページを参考にしました。

15.6. インストール後の設定作業

# cd /etc/ld.so.conf.d
# vim postgresql.conf

下記の1行を追加。
--------------------
/usr/local/pgsql/lib
--------------------

# /sbin/ldconfig

これを行わないとMovableTypeの画面で「再試行」を実施しても状況が変わりません。

10.ノウハウ

"pg_ctl -D /usr/local/pgsql/data -l logfile start"はバックグラウンド起動しません。

バックグラウンド起動すると正常に起動されません。

上の状態に気が付かずにcreateuserすると、「could not connect to database postgres: could not connect to server」というエラーになります(下)。

$ pg_ctl -D /usr/local/pgsql/data -l logfile start 2>&1 &
[1] 6217
[postgres@mnet-host11 ~]$ createuser
createuser: could not connect to database postgres: could not connect to server: そのようなファイルやディレクトリはありません
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
[1]  + 1で終了しました pg_ctl -D /usr/local/pgsql/data -l logfile start 2 >& 1

11.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

FinaleでD.C.とコーダマーク(Coda)を設定する方法

August 6,2017 12:03 AM
Category:[Finale]
Tag:[Finale]
Permalink

FinaleでD.C.とコーダマーク(Coda)を設定する方法を紹介します。

D.C. al Codaとコーダマーク
D.C. al Coda

コーダマーク
コーダマーク

1.問題点

下の楽譜の2小節目に「D.C. al Coda」という記号を挿入したいです。

D.C. al Coda

こちらは1カッコの直前にコーダマークを設定したいです。

コーダマーク

また、再生時も先頭に戻ってコーダマークでジャンプさせたいのですが設定方法が分かりません。

ということで、FinaleでD.C.とコーダマーク(Coda)を設定する方法を紹介します。

2.D.C.とコーダマーク(Coda)を設定する

まずD.C.から設定します。反復記号ツールをクリック。

反復記号ツール

D.C.したい小節をダブルクリック。ここでは青色に反転している小節をダブルクリックしています。

D.C.したい小節をダブルクリック

「D.C. al Coda」を選択して「選択」をクリック。この手順では楽譜に「D.C. al Coda」が表示されますが、表示内容を変更したい場合は先に「作成」をクリックします。

「D.C. al Coda」を選択

右側の「飛び越し先」で「指定小節」に「1」を設定して「OK」をクリック。

飛び越し先

楽譜に「D.C. al Coda」が表示されます。

楽譜に「D.C. al Coda」が表示

記号の右側の□をドラッグして位置を調整すれば完了です。

位置を調整

次にコーダマーク(Coda)を設定します。反復記号ツールをクリックした状態でコーダマークを設定したい小節をダブルクリック。ここでは青色に反転している小節をダブルクリックしています。

Codaを設定したい小節をダブルクリック

コーダマークを選択して「選択」をクリック。

コーダマークを選択

左側の「動作」から「x回通過したら飛ぶ」を選択し、ここでは「3(繰り返し+D.C.の計3回)」を設定、右側の「飛び越し先」で「指定小節」に「34(さきほどのD.C.の次の小節)」を設定して「OK」をクリック。

動作

楽譜にコーダマークが表示されます。

楽譜にコーダマークが表示

コーダマーク右側の□をドラッグして位置を調整すれば完了です。

位置を調整

「D.C. al Coda」の右側のコーダマークは前述のコーダマーク設定とほぼ同じで、「文字反復記号の機能設定」画面の「動作」で「なにもしない」を選択すればOKです。

動作

また、再生も期待通りの動作になりました。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages