Linux コマンド:コンパイル・インストール・デバッグ

インストール

ソースファイルからインストール

# make install

パッケージ管理ツールからインストール

パッケージ管理ツール種類
Redhat系 Debian系 機能
rpm dpkg 依存パッケージをユーザに通知
yum apt 依存パッケージを自動インストール

 

PRM(RedHat)系
RedHad社が開発したパッケージシステムを用いる
・Fedora
・CentOS

DEB(Debian)系
・ubuntu
・Debian GNU/Linux

パッケージのインストール
リポジトリーからパッケージをインストール
yum install (パッケージ名)

リポジトリを指定してインストール
yum install --enablerepo=remi (パッケージ名)
yum install --enablerepo=epel (パッケージ名)

パッケージを削除する
yum remove (パッケージ名)

アップデートがあるかチェック
yum check-update

パッケージ全体をアップデートする
yum update

特定のパッケージをアップデートする
yum update (パッケージ名)

質問に対して全て自動的に「YES」で回答する
yum -y ~

パッケージファイルからインストール
rpm -ivh (パス).rpm

パッケージを削除する
rpm -evh (パッケージ名)

特定のパッケージをアップデートする
rpm -Uvh パッケージファイル名

リポジトリーからパッケージをインストール
apt-get install (パッケージ名)

パッケージを削除する
apt-get remove (パッケージ名)
dpkg -r (パッケージ名)

アップデートがあるかチェック
apt-get -s upgrade
apt-get -s dist-upgrade

パッケージ全体をアップデートする
apt-get upgrade
apt-get dist-upgrade

特定のパッケージをアップデートする
apt-get upgrade (パッケージ名)
apt-get dist-upgrade (パッケージ名)

パッケージの情報
インストールされたパッケージを表示
yum list installed

パッケージの情報
yum search string

リポジトリのすべてのパッケージを表示
yum list

利用可能なパッケージを表示
yum list available

パッケージについての情報を表示
yum info (パッケージ名)

特定のファイルを含むパッケージの表示
yum provides filename

インストールされたパッケージを表示
rpm -qa

パッケージについての情報を表示
rpm -qip (パッケージ名).rpm

特定のファイルを含むパッケージの表示
rpm -qf path/filename

インストール済みのパッケージの情報を表示
rpm -qi (パッケージ名)

パッケージに含まれているファイルの表示
rpm -ql (パッケージ名)
rpm -qlp (パッケージ名).rpm

特定のパッケージが依存するパッケージのリスト
rpm -qR (パッケージ名)

特定のパッケージに依存するパッケージのリスト
rpm -q –whatrequires (パッケージ名)

インストールされたパッケージを表示
apt list --installed

パッケージの情報
apt-cache search string

リポジトリのすべてのパッケージを表示
apt-cache search .

利用可能なパッケージを表示
apt-cache dumpavail

パッケージについての情報を表示
apt-cache show (パッケージ名)

特定のパッケージが依存するパッケージのリスト
apt-cache depends (パッケージ名)

特定のパッケージに依存するパッケージのリスト
apt-cache rdepends (パッケージ名)

パッケージ種類

i386:32ビット用
x86_64:64ビット用

リポジトリ

一覧
リポジトリ一覧
yum repolist all

追加
【外部ファイルを直接】
epelを追加
$ rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

remiを追加
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

【ローカルにダウンロード後】
epelを追加
$ wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm

remiを追加
$ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ rpm -ivh remi-release-6.rpm

リポジトリファイル
/etc/yum.repos.d/~
にリポジトリファイルが作成される

※例:epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
有効設定
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

ダウンロード

wget

ファイルのダウンロード
$ wget http://google.com

curl

GET

WEBアクセス方法GET

POST

WEBアクセス方法POST

ファイルのダウンロード

WEBアクセス方法ダウンロード

gem

rubyのパッケージ管理システム
Linuxからはデフォルトで利用可能
vagrantのインストール。この場合バージョンが勝手に決められる
$ gem install vagrant

コンパイル

GCC

GNU Compiler Collection
C/C++、Java等のコンパイラ群
コマンドラインから実行する

makeツール

Makeファイルに従ってコンパイル(GCC利用)、リンク、インストール等を行うツール
≒Ant

Makeファイル

makeコマンド時に参照されるビルド設定ファイル

手順

Makeファイル生成
# ./configure

実行ファイル生成
# make

デバッグ

GDB

GNU DeBuggr
GCCでコンパイルされたプログラムのデバッグツール
Linux上で動作させる

GDB命令一覧

命令 機能
gcc -g -o0 (ソースファイル) デバッグ用コンパイル gcc -g -o0 test.c
gdb (実行ファイル) gdb起動 gdb test.o
break main main関数一でブレーク break main
break (ソースファイル):N 指定行でブレーク break test.o:100
run デバッグ実行開始 run
quit gdb終了 quit
next ステップアウト next
step ステップイン step
list ブレーク位置のソース表示 list
print ブレーク位置の変数表示 print
whatisptype ブレーク位置の変数型表示 whatisptype