ホーム > タグ > command

command

aptコマンドの使い方

aptは、deb形式(debian系Linuxシステムのパッケージ)のパッケージを管理するコマンド。

aptを使用するには、あらかじめ
/etc/apt/sources.list
というファイルに、パッケージの取得先(debパッケージが格納されているFTPサイトなど)を列挙しておく必要がある。

Ubuntu 8.04におけるデフォルトのsources.listの内容(パッケージ取得先のURIだけ抜粋)

deb http://jp.archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://jp.archive.ubuntu.com/ubuntu/ hardy main restricted

deb http://jp.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://jp.archive.ubuntu.com/ubuntu/ hardy-updates main restricted

deb http://jp.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://jp.archive.ubuntu.com/ubuntu/ hardy universe
deb http://jp.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://jp.archive.ubuntu.com/ubuntu/ hardy-updates universe

deb http://jp.archive.ubuntu.com/ubuntu/ hardy multiverse
deb-src http://jp.archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb-src http://jp.archive.ubuntu.com/ubuntu/ hardy-updates multiverse

deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb-src http://security.ubuntu.com/ubuntu hardy-security universe
deb http://security.ubuntu.com/ubuntu hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse

システム全体のアップデート

システムにインストールされているdebパッケージ群をアップデートするには以下を実行。これにより、パッケージをアップデートするために必要な情報が更新される。

$ sudo apt-get update

次に、apt-getコマンドにupgradeというサブコマンドを指定して実行。これで、システムに存在するdebパッケージが最新のバージョンに更新される。

$ sudo apt-get upgrade

パッケージのインストール

apt-getコマンドの引数にinstall パッケージ名と指定することで、指定したパッケージがダウンロードされる。

$ sudo apt-get install パッケージ名

パッケージの削除

apt-getコマンドの引数にremove パッケージ名とすることで、指定したパッケージを削除

$ sudo apt-get remove パッケージ名

パッケージの検索

パッケージの検索や詳細情報の表示には、apt-getではなくapt-cacheというコマンドを使用する。検索の場合は「search」というサブコマンドを指定する。

$ apt-cache search bar

上記の例だと、barが検索ワードで、パッケージ名や説明文に「bar」を含むパッケージが表示される。

詳細情報の表示には、サブコマンドに「show」を指定してapt-cacheを実行する。

$ apt-cache show php5

実行すると、パッケージのバージョン、リリース番号や依存関係のあるパッケージ名、ファイル容量等の詳細情報が表示される。

rootに不可欠な20の主要コマンドについて

一般的なコマンド(cd, cp, ls, mkdirなど)は省く。

suコマンド

ターミナル上のコマンドラインでsuコマンドを実行するとパスワードを求めるプロンプトが表示されるので、ここにrootのパスワードを入力すると、コマンドプロンプトが「#」に変わって、root権限での操作が可能になる。(rootを抜けて一般ユーザーに戻るにはexitコマンド)

単にsuを実行すると、シェルの動作設定は一般ユーザーとしてログインしたときのものが引き継がれる。root用の設定でシェルを利用したい場合は「su -」を実行。

また、引数にユーザーを指定すると(su username)指定したユーザーの権限でシステムを操作出来るようになる。さらに、「su username -c コマンド名」で実行すると、指定したユーザーの権限で指定したコマンドを実行できる。

rpmコマンド

Red Hat系Linuxでパッケージのインストールや削除を行うコマンド。

パッケージ(rpm形式)をインストールするには「rpm -i ファイル名」、アップデートするには「rpm -U ファイル名」、削除するには「rpm -e ファイル名」を実行。

オプション「-v」を指定すると、インストールのプロセスが画面に表示される。

オプション「–force」を指定すると、一度インストールしたパッケージを強制的に再インストールしたり、アップデートすることができる。

yumコマンド

CentOSやRed Hat Enterprise Linuxなどでパッケージ管理を行うコマンド。

リポジトリにアクセスして、パッケージのインストールや交信、削除などを行うパッケージ管理のためのコマンド。

システムに最新のアップデート・パッケージを適用する場合は「yum update」を実行。表示されるアップデートの内容に問題がなければ「y」を入力してアップデートを実行。

新たなパッケージをインストールする場合は「yum install パッケージ名」を実行。パッケージを削除する場合は「yum remove パッケージ名」を実行。

コマンドの前に「-y」オプションを追加すると、実行確認をせずに処理が実行される。ユーザーからの応答が必要なくなるので、スクリプトやcronを使った自動アップデートに利用できる。

apt-getコマンド

Debian系Linuxでパッケージのインストールや削除を行うコマンド。
(Vine系Linuxなど、一部のRed Hat系Linuxでも利用可)

パッケージ(主にdeb形式)をインストールするときは「apt-get install パッケージ名」、削除には「apt-get remove パッケージ名」を実行する。

パッケージをアップデートするときは、まず「apt-get update」と実行してインストールCDやリポジトリからパッケージの最新リストを取得する。その上で「apt-get upgrade」を実行。

利用しているマシンのHDにインストールしたいパッケージがある場合はapt-getではなく、dpkgというコマンドを使う。「dpkg -i ファイル名」と実行すると、ファイル名に指定したパッケージがインストールされる。

useradd(adduser)コマンド

新規にユーザーアカウントを作成するコマンド。

オプションとしてUID(ユーザー番号)や所属グループ、パスワードなどを指定することで、それらの設定を同時に行える。

userdel(deluser)コマンド

ユーザーアカウントを削除するコマンド。

削除したいユーザーアカウントのユーザー名を引数に指定して実行。コマンド実行時に「-r」オプションを指定すると、当該ユーザーのホーム・ディレクトリの内容も削除される。

passwdコマンド

ユーザーアカウントのパスワードを変更するコマンド。

コマンド実行時にユーザー名を指定すると「passwd ユーザー名」そのユーザーのパスワードを変更できる。また、ユーザー名を指定せずに単独でコマンドを実行すると、自分のパスワードを変更出来る。

コマンド実行時に「-x 日数」というオプションを指定すると、指定した日数がパスワードの有効期限となる。(その日数を過ぎると、パスワードの変更を促される)また「-n 日数」と指定すると、指定した日数がパスワードが変更できるようになるまでの最小期限となる。(指定した日数を過ぎないとパスワードを変更できない)

さらに「-l ユーザー名」と指定すると、このユーザーアカウントが一時的に使用出来なくなり、「-u ユーザー名」で、再び使用可能となる。

fsckコマンド

ファイルシステムの検査と修復を行うコマンド。

このコマンドを実行すると、ファイルシステムの管理データに矛盾がないかどうかがチェックされる。もし、システムの終了時にファイルシステムが正常にアンマウントされなかったときは、次のLinux起動時にこのコマンドが自動的に起動する。その際、管理データに問題が見つかれば、修復を試みるかどうかの質問が表示されるので「y」または「n」を入力する。(yes or no)

shutdownコマンド

システムを停止、または再起動させるコマンド。

停止は「shutdown -h now」、再起動は「shutdown -r now」を実行。どちらもnowが指定されているが、これはこのコマンド実行後、すぐにシステムが停止、もしくは再起動をさせるための引数。nowのかわりに秒単位で時間(実行されるまでの)を指定することも可能。

shutdownのかわりに「reboot」コマンドでシステムの再起動、「halt」コマンドでシステムの停止を行うことも出来る。

telinitコマンド

ランレベルを変更するコマンド。「telinit ランレベル(数)」

Linuxシステムでは、0から6までの数字(ランレベルという)を使用することで、システムの動作モードを変更することが出来る。

Red Hat系Linuxの場合、通常はランレベル3(複数ユーザーが同時ログインできて、ログイン画面はCUIの動作モード)または5(複数ユーザーが同時にログインできて、ログイン画面はGUI)に設定されているらしい。

ランレベル1はシングルユーザー・モードと呼ばれ、root以外のユーザーはログイン出来ない状態。なので、システムのメンテナンス作業などはこのモードで行うことが望ましい。

ランレベル0はシステムの停止、ランレベル6は再起動に割り当てられている。したがって、shutdownコマンドの代わりにtelinitコマンドを使用することも出来る。また、runlevelというコマンドを実行すると、現在のランレベルが表示される。

mountコマンド

デバイス(例えばCD-ROM)に作成されているファイルシステムを別のデバイス(例えばハードディスク)のファイルシステムに割り当てるコマンド。

現時点で、ちゃんと理解していないので、また機会があったら追記する。

umountコマンド

ファイルシステムをアンマウントするコマンド。

例えば、/mntディレクトリにマウントされたファイルシステムをあうんマウントするには、「umount/mnt」と実行する。

「umount -a」と実行すると、現在マウントされているファイルシステム全てがアンマウントされる。

killコマンド

プロセスを終了、あるいは制御するコマンド。
「kill [シグナル] プロセス番号」(シグナルはなくても良い)

動作しているプログラムを終了させる。また、動作中のプロセスに対して「シグナル」を送信することで、そのプロセスの動作を変更することも出来る。例えば、SIGSTOPというシグナルを送れば、そのプロセスはいったん動作を停止する。再開させるにはSIGCONTというシグナルを送信すれば良い。

killを実行するには、まずpsコマンドを実行して、制御したいプロセス番号を確認。そして、killの引数にシグナルとプロセス番号を指定して実行すればシグナルがプロセスに送信される。

ソフトウェアの動作異常などで、killを実行してもプロセスが終了しない場合がある。その際は「-SIGKILL」というシグナルを送ることで、プロセスを強制的に終了させることが出来る。

psコマンド

実行中のプロセスを表示するコマンド。

オプションを指定せずにpsのみを実行すると、psを実行したターミナル上で動いている全てのプロセスが表示される。「ps -A」と実行すると、動作していないものも含めたすべてのプロセスを表示する。他にも多くのオプションがある。

modprobeコマンド

カーネル・モジュールをカーネルに組み込んだり、除外したりするコマンド。

主にカーネル・モジュール(例えば、周辺機器用のドライバ・プログラム)を、現在実行中のシステムに組み込むときに使用される。モジュールの組み込みには、insmodというコマンドも使用できるが、依存関係まではフォローしてくれない。その点、modprobeはそうした依存関係を考慮した上で必要なモジュール群を自動的に組み込んでくれるので、とても便利らしい。

仮に「sound」というモジュールを組み込みたければ、単に「modprobe sound」を実行。組み込んだモジュールを取り外したければ-rオプションを指定して「modprobe -r sound」と実行。他にもdepmod、lsmod、insmod、rmmodといったコマンドもある。

chmodコマンド

ファイルのパーミッションを変更するコマンド。

chmodを利用することで、ファイルのパーミッション(利用権限)を設定出来る。

ファイルのパーミッションは「シンボル」と「数値」のふたつの方法で設定出来る。

シンボルによる指定とは、所有者(u)、所有グループ(g)、その他(o)の三種類のそれぞれのユーザーに、読み込み(r)、書き込み(w)、実行(x)のパーミッションを指定する方法。たとえば、所有者には三つすべての権利を与え、他のユーザーにはあたえないとすると、以下のようなコマンドになる。

chmod u+rwx,go-rwx ファイル名

所有者(u)に三つ全ての権限(rwx)を付与(+)し、その他のユーザー(go)にはそれらの権限(rwx)を与えない(-)。

一方、数値を使用して同様の指定を行うには以下のように実行する。

chmod 700 ファイル名

数字「700」は、左から順にファイルの所有者、グループ、その他の設定を意味している。(7は全ての権利を付与、0は全ての権利を与えない、を意味する)

あるディレクトリ内(サブ・ディレクトリも含む)にある全てのファイルを対象にパーミッションを設定する場合は「-R」オプションを使用する。

chmod -R go-rwx ディレクトリ名

上記の例では、所有者以外のユーザーに対して、ここで指定したディレクトリ内にある全て(子ディレクトリ、ファイル)における全ての権利を「与えない」としている。

他にも、スティッキー・ビットの変更とかもあるらしいけど、これは必要になったらまた調べましょう。

chownコマンド

ファイルの所有者を変更するコマンド。

ファイルの所有者やグループを設定するためのコマンドで、例えば、あるファイルの所有者をroot、グループもrootに設定する場合は「chown root:root ファイル名」と実行する。

chownコマンドにおいても、chmodコマンド同様に「-R」オプションが利用出来る。

netstatコマンド

ネットワークの状態を表示するコマンド。

オプションをつけずにnetstatを実行すると、その時点でマシンがどのネットワークへ接続しているかが一覧表示される。オプションによって様々なネットワーク状況を表示することが出来るが「-r」「-n」「-t」「-u」などのオプションを使用することが多い。

-rは、ルーティング・テーブルの内容を表示するオプション。-nは、ネットワーク情報をホスト名ではなくIPアドレスで表示するオプション。-tは、TCP接続のみを表示するオプション。-uは、UDP接続のみを表示するオプション。例えば、システム内部の接続状況は表示せず、インターネットへの接続状況だけを表示するには「netstat -tu」と実行すれば良い。

ifconfigコマンド

ネットワーク・インタフェースを設定、あるいは設定内容を表示するコマンド。

ifconfigをオプションなしで実行すると、現在のネットワーク・インタフェース(Ethernetカードなどのネットワーク・デバイスのこと)の設定内容が表示される。

また、インタフェース名を指定すれば(ifconfig インタフェース名)そのインタフェースの情報だけが表示される。(例えば、一枚目のEthernetカードならeth0と指定)

特定のインタフェースにIPアドレスを設定するときもこのコマンドを利用する。例えば、eth1(二枚目のEthernetカード)に「192.168.0.10/255.255.255.0」というIPアドレスを割り当てたいときは、以下のようにifconfigを実行する。

# /sbin/ifconfig eth1 192.168.0.10 netmask 255.255.255.0

指定したインタフェースを一時的に停止したいときは(例えばeth0)「ifconfig eth0 down」、再開するには「ifconfig eth0 up」と実行する。

routeコマンド

ルーティング・テーブルを設定、あるいは設定内容を表示するコマンド。

ルーティング・テーブルとは、あるマシンがIPパケットを送信するときに、それをどのルータに送れば良いかといった経路を記した情報のこと。

routeに何もオプションを付けずに実行すると、現在のルーティング・テーブルが表示される。また、「-n」オプションを付けて実行すると、ルーティング・テーブルのホスト名がIPアドレスで表示される。

ルーティング・テーブルに新しい経路を設定したいときは、オプションとして「add」、削除したいときは「del」を指定して、routeを実行してやればよい。

Linux(Ubuntu Server 8.10) でファイルを探す(例えば php.ini)

Linux で(この場合は Ubuntu Server version 8.10)ファイル名からファイルを探す場合。

先にファイル一覧のデータベースを更新しておく

$ sudo updatedb

locate を使って、ファイルを探す(例として、この場合は php.ini)

$ locate php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/usr/share/doc/php5-common/examples/php.ini-dist
/usr/share/doc/php5-common/examples/php.ini-paranoid
/usr/share/doc/php5-common/examples/php.ini-recommended
/usr/share/php5/php.ini-dist
/usr/share/php5/php.ini-dist.cli

これのおかげで php.ini が php5/apache2 配下と、php5/cli 配下の二箇所にあることがわかったけど、詳しいことはよく分からない。いまんところ。
(なんで二つあるのか、違いはあるのか、対象が違うのか、内容は違うのか、違うんだったらどこが違うのか等)

Ubuntu ServerにおけるapacheとMySQLの起動・停止・再起動

この記事は
Ubuntu ServerにおけるapacheとMySQLの起動・停止・再起動
に引っ越しました。

PEARのインストール場所を調べる

この記事は
OSXでPEARのインストール場所を調べる
に引っ越しました。

MySQLとApacheの起動、再起動、停止

MySQLとApacheの起動、再起動、停止について理解が曖昧&間違っていたので、あらためてメモ。

my.cnf (MySQL の設定ファイル)を編集した場合、この編集内容を有効にするには MySQL Server の再起動が必要。
(この設定ファイルの場所は /etc/mysql/my.cnf )

以下、上から順に起動、再起動、停止のコマンド。

$ sudo /etc/init.d/mysql start
$ sudo /etc/init.d/mysql restart
$ sudo /etc/init.d/mysql stop

これは Ubuntu Server でのもの。(Linux全般そうなのかな?)

MacPortsで構築した環境だと以下のコマンドになる。
(ついでに Apache についても記しておく)

MySQL(version 5 の場合)

$ sudo /opt/local/share/mysql5/mysql/mysql.server start
$ sudo /opt/local/share/mysql5/mysql/mysql.server restart
$ sudo /opt/local/share/mysql5/mysql/mysql.server stop

Apache(version 2 の場合)

$ sudo /opt/local/apache2/bin/apachectl stop
$ sudo /opt/local/apache2/bin/apachectl start

パスワードを変更する

localhostにおけるrootユーザのパスワードを変更するには

mysql> SET PASSWORD FOR root@localhost=PASSWORD(’hoge’);

hogeの部分に新しいパスワード、この部分を空にすればパスワードは設定なしになる。
パスワードなしにした場合もパスワードは聞かれるが、そのままenterキーをおせばMySQL moniterを起動できる。

MySQLとApacheの再起動

MacPortsでインストールした MySQL5 と Apache2 はどっちも自動起動に設定してあるので、設定ファイルを編集した際にそれを反映させるにはどちらも Terminal からコマンドで再起動が必要。すぐ忘れるのでこれもメモ。

MySQL5

$ sudo /opt/local/share/mysql5/mysql/mysql.server start
$ sudo /opt/local/share/mysql5/mysql/mysql.server restart
$ sudo /opt/local/share/mysql5/mysql/mysql.server stop

Apache2

$ sudo /opt/local/apache2/bin/apachectl stop
$ sudo /opt/local/apache2/bin/apachectl start

ついでに、Ubuntu Server にインストールした MySQL についてもメモ。

$ sudo /etc/init.d/mysql start
$ sudo /etc/init.d/mysql restart
$ sudo /etc/init.d/mysql stop

上から順に、開始、再起動、停止。

途中から勘違いをしていて、$ mysql -u root -p とかで「再起動」になっていると思いこんでいた。
これは単に mysql monitor を起動しているだけで、MySQL Server の再起動じゃないんだな。きっと。
まだこのへんが初心者で超曖昧な自分の理解。

MacPortsの主要コマンド

MacPorts自信を最新の状態にupdate

$ sudo port selfupdate

インストールできるパッケージのリストを最新のものに更新

$ sudo port -d sync

インストールしたいパッケージ(ports)を探す

$ port search 検索語句

パッケージをインストール

$ sudo port install パッケージ名

versionを指定してインストール
例えば、Railsの2.0.2を指定してインストール

$ sudo gem install rails -y -v 2.0.2

インストール済みのパッケージ一覧を取得

$ port installed

インストール済みのパッケージを非アクティブ状態にする

$ sudo port deactivate パッケージ名
※またアクティブにしない限り活動停止状態
※アクティブにするには
$ sudo port activate パッケージ名

インストール済みの全てのパッケージをupdate

$ sudo port upgrade installed

パッケージを指定してupdate

$ sudo port upgrade パッケージ名

パッケージを削除(アンインストール)

$ sudo port uninstall パッケージ名
RubyGemsを利用してインストールしたRailsなんかは「gem」をつけて
$ sudo gem uninstall rails

他、以下のURLを参考に
http://d.hatena.ne.jp/hakobe932/20061208/1165646618
http://openlab.dino.co.jp/2008/08/18/220655330.html

scpコマンドを使用してファイルをコピーする

Leopard の ローカルにある .vimrc を scp コマンドでリモートの Ubuntu にコピーする。
* scp = secure copy らしい(ssh による暗号化されたコピーを行うらしい)
続きを読む

ホーム > タグ > command

検索
フィード

ページの上部に戻る