HobNote
Linuxいろいろ(SW編1)
環境の確認や設定

since 2013.09.12
last update 2016.01.11



aptを使ったパッケージのインストールとアップデート

rpmをサイトから直に取ってきてアップデートしようとすると他のrpmの関連でupdateできませんと
言われるときがある。
これを手動で回避しながらupdateするのは手間がかかる。そこでDebianで開発されたaptを
RedHatでも使用できるとのことなので使ってみる。
(apt:Advanced Packaging Tool)

1)aptのrpmパッケージを[freshrpms.net] - Psychetから取ってくる。
場所↓
http://psyche.freshrpms.net/
へ行って左側のaptを選択してaptのpageへ行く。

2)aptのrpmを落としてrootになってインストールする。


3)/etc/apt/sources.listの中を確認。

4)/etc/apt/apt.confの確認

5)apt用のデータベースを入手する。

6)パッケージの検索方法

検索結果が多い場合は、

7)パッケージの情報取得方法(サイズや依存パッケージ、バージョン開発者等)

8)インストール(依存パッケージも自動でインストールしてくれる)

9)パッケージの削除方法

設定ファイルも含めて削除したい場合は、

10)ディストリのアップデート・パッケージのインストールをする場合




!-- ----------------comment---------------- -->
yumを使ったパッケージのインストールとアップデート[CentOS4][SL6.6]

CentOS4では、aptによるパッケージ管理からyumによるパッケージ管理が主流になってきているようである。(aptも使用可能ではあるようだが)
やはりDebianから出て来たaptは、使いたくないんだろうか?yumとてYellowDogから来たものらしいので本家のup2dateが
本来のパッケージ管理としては、いいかもしれないのだが、使い勝手からするとaptが結構気に入っていたのでyumを使ってみる
ことにした。
CentOSでは、標準ですでにyumが入っているので設定から行なうことになる。

1) RPM-GPG-KEYの取得
コマンドラインより


2)DLサイトの変更
DLサイトをCentOS本家のサイトから日本のサイトに変更する。
これは、/etc/yum.repos.d/CentOS-Base.repoを編集することでできる。

CentOS-Base.repoの編集箇所は、以下の通りである。

baseurl=http://mirror.centos.org/......
が記載されている箇所を全て
baseurl=http://ftp.riken.jp/Linux/caos/......
にする。


3)DLサイトの追加
defaultのサイトだけでは、パッケージの種類が少ないようなので欲しいパッケージが無いようなら
以下のようにサードパーティのDLサイトを追加する。

3ー1)コマンドラインより


3ー2)/etc/yum.repos.d/CentOS-Base.repoの編集
CentOS-Base.repoに以下の文を追記する。


4)yumの使い方
yumは、aptの使い方とよく似ていてyum のようなフォーマットになる。
以下がその表である。

※詳細は、man yumで


でyumを実行したときに延々と以下のエラーメッセージがでる場合がある。
と出つづけて終了しない場合がある。
これは、yumがまだ実行している状態で別のyumを実行したときに発生するようだ。
yum-updatesdデーモンが動いている場合などにも同様の状態が発生する。

この状態を抜け出るには、走っているyumプロセスをkillすればいいので
みたいに出てくるので
で走り続けているyumが止まるので再度yumを実行したら正しく動作する。

また自動でアップデートをするつもりがなくてyum-updatesdデーモンが動いている場合は、
をしておけばいい。


5)yumでパッケージ等の検索をするには、
yumである程度package名の分かったpackageを検索するには、
などとすればいい。 また、package名が短くて他にも沢山でてきそうな場合は、
(例えばR言語のpackageとか)
などと入力すれば、package名のみ検索することが可能である。




SRPMからRPMを作るには、rootでコマンドラインより
で、/usr/src/redhat/RPMS/cpu下に
xxx.rpmができあがる。
/usr/src/redhat/RPMS/cpuは、rpmbuild...実行結果に表示される。




これは、VineLinux2.6r4での設定方法である
rootになって/sbin/ifupを下記のように変更する
のように-t 20を追記する(20はtimeoutの設定時間[秒]なので自分に合った時間を設定する)




cronは定期的にスクリプトを実行するサービスで、crontabコマンドで設定を行なう。
crontabは、cronで実行するサービス名およびサービスの登録、編集するコマンドである。

crontab -e    コマンド登録するためのviが起動する
crontab -l    登録情報の表示
crontab -r    登録情報の全消去

crontabで編集するフィールドの内容は、下表の通りである
編集した内容は、/var/spool/cronの下にuser名で保存される
また、システム上のlogをとる場合などrootでcronを実行する場合は、/etc/crontabを直接編集してもいい





anacronは、cronと同様のタスクスケジューラである。cronと異なるのは、cronが定期的に実行するのに
対し、anacronは、電源を落すなどしてタスクが実行できなかった場合でもその状態を確認して指定する
遅延時間後にそのタスクを実行することができることである。

・anacronの起動状態の確認
[hogeuser]$ /sbin/service anacron status

・anacronの起動状態の起動
[hogeuser]$ /sbin/service anacron start

・anacronの起動状態の停止
[hogeuser]$ /sbin/service anacron stop

・anacronの設定
anacronのスケジュールは、/etc/anacrontabに記す

[hogeuser]# vi /etc/anacrontab



各fieldの内容は、以下のようなものである。





atは、cornが定期的にスケジューリングに従ってスクリプトを実行するものであるとは異なり
1回きりのスケジューリングでスクリプトを実行するものである。
atは、下記のコマンドで実行することができる。



例は、以下のような感じである

atの設定

これにより/var/spool/atの下に.SEQという最新のjob番号を記したファイルと
同ディレクトリにわけのわからない名前のの実行ファイルができる。


atのjobの確認


atのjobの削除

これにより/var/spool/atの下のわけのわからない名前のの実行ファイルが削除される
.SEQという最新のjob番号を記したファイルはそのままである。




atは、cornが定期的にスケジューリングに従ってスクリプトを実行するものであるとは異なり
1回きりのスケジューリングでスクリプトを実行するものである。
atは、下記のコマンドで実行することができる。



例は、以下のような感じである

atの設定

これにより/var/spool/atの下に.SEQという最新のjob番号を記したファイルと
同ディレクトリにわけのわからない名前のの実行ファイルができる。


atのjobの確認


atのjobの削除

これにより/var/spool/atの下のわけのわからない名前のの実行ファイルが削除される
.SEQという最新のjob番号を記したファイルはそのままである。




useraddコマンドを使ってユーザを追加するとき、そのユーザのhomeディレクトリに
共通ファイル(.bashrcなど)を自動で配置するようにするには、
/etc/skel以下に
配置したいファイルを置いておくuseradd実行時に自動で配置してくれる。




まぁ、古くからあるコマンドだけど、めったに使わないのでメモとして。

一般ユーザで、複数のグループに所属している状態でプライマリのグループを一時的に変更したい場合がある。
その場合は、newgrpを使う。