タグ: yum

GNOME インストール

CUI飽きた・・・

そんな時のために、GNOMEインストールしたい。

# yum grouplist
Loaded plugins: fastestmirror
...
...
...
X Window System
...
デスクトップ
...
...

この2つかな?
epelとかrpmforgeとか含めたいなら

yum grouplist --enablerepo=rpmforge

とかも可能。

yum groupinstall "X Window System" "デスクトップ"

で、インストール!
終わったら、

vi /etc/inittab

で、最後に書いてある

id:3:initdefault:

id:5:initdefault:

に書き換えて終了。
リブート後はGUIで上がってくるでしょう、きっと。

自宅CentOS

なんとかして1台のサーバですべての用事を済まそう計画…

  1. minimum install
  2. date –set=’****/**/** **:**:**’
  3. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  4. vi /etc/selinux/config
  5. vi /etc/sysconfig/iptables
  6. vi /etc/resolv.conf
    nameserver 192.168.1.1
  7. vi /etc/yum.conf (Proxy check only)
  8. yum install ntp openssh-clients wget rsync mlocate
  9. vi /etc/ntp.conf
    server 192.168.1.1 iburst
  10. /etc/init.d/ntpd start
  11. chkconfig ntpd on
  12. chkconfig ntpdate on
  13. ssh-keygen -t rsa
  14. cd /root/.ssh/
  15. mv id_rsa.pub id_rsa.pub.192.168.1.2
  16. scp id_rsa.pub.192.168.1.2 root@192.168.1.1:/root/.ssh/
  17. (on 192.168.1.1)
    cat id_rsa.pub.192.168.1.2 >> authorized_keys
  18. vi /etc/wgetrc (Proxy check only)
  19. vi /etc/profile
    HISTSIZE=5000
  20. cd /root
  21. wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  22. rpm -ivh mysql-community-release-el6-5.noarch.rpm
  23. vi /etc/yum.repos.d/mysql-community.repo
  24. wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  25. rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  26. vi /etc/yum.repos.d/rpmforge.repo
  27. cd /etc/pki/rpm-gpg/
  28. wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
  29. cd /root/
  30. vi /etc/yum.repos.d/epel.repo
    [epel]
    name=Extra Packages for Enterprise Linux (EPEL)
    baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  31. wget http://mirror.sysadminguide.net/centalt/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm
  32. rpm -ivh centalt-release-6-1.noarch.rpm
  33. vi /etc/yum.repos.d/centalt.repo
    [CentALT]
    name=CentALT Packages for Enterprise Linux 6 - $basearch
    baseurl=http://mirror.sysadminguide.net/centalt/repository/centos/6/$basearch/
    enabled=0
    gpgcheck=0
  34. yum install –enablerepo=mysql-community,rpmforge,epel,CentALT httpd php mysql transmission kernel-devel unzip gcc ccid pcsc-lite pcsc-lite-devel pcsc-lite-libs perl-Gtk2
  35. yum update –enablerepo=mysql-community,rpmforge,epel,CentALT
  36. cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.original
  37. vi /etc/httpd/conf/httpd.conf
    Timeout 20
    ServerName 192.168.0.2:80
    <Directory />
    AllowOverride All
    </Directory>
    AddDefaultCharset off
  38. /etc/init.d/httpd start
  39. chkconfig httpd on
  40. cp /etc/my.cnf /etc/my.cnf.original
  41. vi /etc/my.cnf
    sql_mode=NO_ENGINE_SUBSTITUTION
    # for Replication
    log-bin=mysql-bin
    server-id       = 168001002
    max_connections = 1000
    
    #log = /var/log/mysql/query.log
  42. /etc/init.d/mysqld start
  43. chkconfig mysqld on
  44. mysql -u root -p
  45. > grant all privileges on *.* to username identified by ‘password’ with grant option;
  46. > quit

CentALTリポジトリからForbiddenが返される…

CentALTをenableにしてアップデートしようとしても、Forbiddenが返されることに気づいた。
しかたがないので、CentALTをミラーしている[ sysadminguide.net ]に鞍替えする。
しかもそこにはリポジトリインストール用のRPMまで置いてあった…

  1. wget http://mirror.sysadminguide.net/centalt/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm
  2. rpm -ivh centalt-release-6-1.noarch.rpm
  3. vi /etc/yum.repos.d/centalt.repo
    [CentALT]
    name=CentALT Packages for Enterprise Linux 6 - $basearch
    baseurl=http://mirror.sysadminguide.net/centalt/repository/centos/6/$basearch/
    enabled=0
    gpgcheck=0

これで今までどおり[ enablerepo=CentALT ]を付ければ動く。

CentALTリポジトリの追加

httpdのバージョンをCentOSデフォルトで配布される2.2.15よりも
上にあげなくてはならないということで、このリポジトリからアップデートします。

リポジトリファイルとしてどこかにあるわけではないので、作成します。

# vi /etc/yum.repos.d/centalt.ru.repo
[CentALT]
# CentOS 6 の場合
name=CentALT Packages for Enterprise Linux 6 - $basearch
baseurl=http://centos.alt.ru/repository/centos/6/$basearch/
# CentOS 5 の場合
#name=CentALT Packages for Enterprise Linux 5 - $basearch
#baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
# CentOS 5 / 6 共通
enabled=0
gpgcheck=0

で、作成。

# yum --enablerepo=CentALT update httpd

でアップデート。
途中、
警告: /etc/httpd/conf/httpd.conf は /etc/httpd/conf/httpd.conf.rpmnew として作成されました。
とか出てくるので、現状に合わせて httpd.conf を適宜修正する。

# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]
# httpd -v
Server version: Apache/2.2.27 (Unix)
Server built:   Apr  9 2014 23:22:50

うむ。

リポジトリの優先順位

デフォルトで入っているリポジトリと、RPMFORGEとかepelがかち合った時はどうなるのかな?と思ったら優先順位を指定する設定があった。

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

[priority=**] をつければいいみたい。
1が一番優先される。指定無しの場合は99が割り当てられているらしい。

yum で 足りないファイルを探す

コマンドが見つかりません、だったら「yum search ******」で。

今回は必要なファイルが見つからないとき。

いろんな所で必要になる「libc.so.6」。
が、どのパッケージに入ってるのかわからない。
ので、yum の whatprovides というオプションで探してみる。

#yum whatprovides libc.so.6
 Loaded plugins: fastestmirror
 Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
 glibc-2.12-1.132.el6.i686 : The GNU libc libraries
 Repo : base
 Matched from:
 Other : libc.so.6

これで必要なのは6行目に書いてある「glibc-2.12-1.132.el6.i686」ということになる。

CentOSで「コマンドが見つかりません」とか言われる (yum search)

[ locate ]とか、[ c++ ]とか、minimumでインストールするといろいろなものが入っていない状態。
後から必要に応じて入れることになるのだけれど、そのコマンド名自体で入るわけではないものが結構ある。
今回はその探し方。

yum search ******

で。
locateだとこんなカンジ。

# yum search locate
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: centos.ustc.edu.cn
* updates: centos.mirror.cdnetworks.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 768 kB 00:00
============================= N/S Matched: locate ==============================
mlocate.x86_64 : An utility for finding files by name
which.x86_64 : Displays where a particular program in your path is located

Name and summary matches only, use "search all" for everything.

なので、

yum install locate

ではなく

yum install mlocate

でインストール、ということになる。

yum update 中に固まったら

yum update

中に固まった?って状態の時がある。
別コンソールを開いて再度実行しようとすると

# yum update
Loaded plugins: fastestmirror
Existing lock /var/run/yum.pid: another copy is running as pid 23213.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  80 M RSS (122 MB VSZ)
    Started: Fri Oct  4 14:09:42 2013 - 36:53 ago
    State  : Sleeping, pid: 23213
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  80 M RSS (122 MB VSZ)
    Started: Fri Oct  4 14:09:42 2013 - 36:55 ago
    State  : Sleeping, pid: 23213

なカンジで、yum lockかかってるから終わるのを待ってる、みたいなことを言われる。
でもステータスはSleeping…

仕方がないのでこのSleepingしてるyumを一度終了したい。
yum.pid ファイルを削除すればロック状態から開放されるので、これを行う。
このファイルは

/var/run

配下にあるので

rm -f /var/run/yum.pid

で削除。

再度

yum update

すると、

There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.

みたいなことを言われるけど、一応アップデートできるようになる。

Remiリポジトリの追加

※ Remi をインストールするには事前に epel をインストールしておく必要があります。
CentOS6用のRemiリポジトリをインストールするファイルは Les RPM de Remi にあります。
remi-release-6.rpmを使用します。

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh remi-release-6.rpm

ここで

警告: remi-release-6.rpm: ヘッダ V3 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
エラー: 依存性の欠如:
	epel-release >= 6 は remi-release-6-1.el6.remi.noarch に必要とされています

と言われてしまったので、

yum --enablerepo=epel install epel-release

で、epel-release をインストールして、再度実行。
これでリポジトリファイルとGPG-KEYが作成されます。

Remiリポジトリはデフォルトでは無効に設定されているので、このままで。
使うときは

yum --enablerepo=remi install mysql

みたいなカンジで。

RPMforgeリポジトリの追加

http://pkgs.repoforge.org/rpmforge-release/に RPMforge の RPMファイルがあるので環境に対応したものを持ってくる。
今回は CentOS6 の 64bit なので、rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmになります。
CentOS5 の 32bit なら、rpmforge-release-0.5.3-1.el5.rf.i386.rpmで。

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

これでだけで リポジトリファイルとGPG-KEYが作成される。

このままだと RPMforge がデフォルトで有効になっているので

vi /etc/yum.repos.d/rpmforge.repo

で[rpmforge]の設定値を
enabled = 0
に変更しておく。
[rpmforge-extras]と[rpmforge-testing]はデフォルトでオフになっているので変更しなくて大丈夫。

ここまでやったら

yum --enablerepo=rpmforge update

rpmforge                                                   | 1.9 kB     00:00
rpmforge/primary_db                                        | 2.5 MB     00:02

のようなカンジで読み込まれているか確認する。

epelリポジトリの追加

Extra Packages for Enterprise Linuxという便利なパッケージ集があるので、このリポジトリを追加してみる。

まず、GPG-Keyを/etc/pki/rpm-gpg/にダウンロードする。
EPELのGPG-Keyはrikenのサイトの中にあるのでここから。

cd /etc/pki/rpm-gpg/
wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6

取り込んだら/etc/yum.repos.d/にEPEL用のファイルを作成する。

vi /etc/yum.repos.d/epel.repo
#Extra Packages for Enterprise Linux (EPEL)
[epel]
name=Extra Packages for Enterprise Linux (EPEL)
baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

ファイル名 … *****.repoであれば好きなもので。
[*****] … 適当に。他のリポジトリ名とかぶらなければOK。
name … 適当に。これも他のリポジトリとかぶらなければ大丈夫だと。
baseurl … ダウンロードしに行くところ。「$basearch」は「x86_64」だったり「i386」だったりのアーキテクチャが自動で入る。
HTTPでもFTPでも大丈夫なので

http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/$basearch/

とか

ftp://ftp.kddilabs.jp/Linux/distributions/fedora/epel/6/$basearch/

でもOK。
enabled … 有効/無効。デフォルトは1(有効)。デフォルトで入っているリポジトリ以外のものを有効にしていると予期しないアップデートが入っちゃったりするので自分で追加したものは基本は0(無効)にしておく。
gpgcheck … GPG-Keyをチェックするか否か。デフォルトは0(無効)。せっかく取り込んでいるので1(有効)に設定。
gpgkey … ダウンロードしたGPG-Keyの位置。この指定方法がいけるならHTTPでもいけそう。

gpgkey=http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6

でもいけました…。

ファイル作成まで終了したら

yum --enablerepo=epel update

とかで

epel                                                       | 3.7 kB     00:00
epel/primary_db                                            | 3.1 MB     00:02

のようなカンジで読み込まれているか確認する。

もし、何がしかのエラーが出るということであれば、
yum clean metadata
yum clean all
rpm –rebuilddb
あたりを試してみる。