Linuxアプリケーションの基本、ソフトウェアパッケージ、ソースコードのコンパイルとインストール
Linuxアプリケーションの基本
アプリケーションとシステムコマンドの関係
キャラクター | システムコマンド | 応用 |
---|---|---|
ファイルの場所 | 通常、/ binおよび/ sbinディレクトリ、またはシェル内部コマンド | 通常、/ usr / bin、/ usr / sbinおよび/ usr / local / bin、/ usr / local / sbinにあります |
主目的 | IP構成ツールなど、システムの基本的な管理を完了します | Webブラウザなど、他の比較的独立した補助タスクを完了します |
該当する環境 | 通常、文字操作インターフェイスでのみ実行されます | 実際のニーズに応じて、一部のプログラムはファイアウォールなどのグラフィカルインターフェイスで実行できます |
実行フォーマット | 通常、コマンドワード、コマンドオプション、およびコマンドパラメータを含めます | 通常、プログラム開発者によって定義される固定の実行形式はありません。 |
典型的なアプリケーションのディレクトリ構造
ファイルの種類 | ディレクトリを保存 | 説明 |
---|---|---|
通常の実行可能プログラムファイル | / usr / bin | すべてのユーザーが実行可能 |
サーバープログラム、管理プログラムファイル | / usr / bin | 管理者のみが実行できます |
アプリケーション構成ファイル | /等 | rpmまたはyumを介してインストールされたアプリケーション |
ログファイル | / var / log | システムログ |
アプリケーションリファレンスドキュメントファイル | / usr / share / doc | アプリケーションに関する参照ドキュメントおよびその他のデータ |
アプリケーションのマニュアルページファイル | / usr / share / man | 実行可能ファイルと構成のマニュアルページ |
一般的なパッケージタイプ
ファイルの種類 | 説明 |
---|---|
RPMパッケージ | 拡張子は「.rpm」で、RHEL、CentOS、その他のシステムに適しています |
DEBソフトウェアパッケージ | 拡張子は「.deb」で、Ubuntu、Debian、その他のシステムに適しています |
ソースコードパッケージ | 一般に「.tar.gz」、「。tar.bz2」などの形式の圧縮パッケージに は、プログラムの元のコードが含まれているため、コンパイルしてインストールする必要があります。 |
インストーラー付きパッケージ | ソフトウェアパッケージにはさまざまな拡張子があり、ほとんどがTarBall形式です。 インストール用の実行可能プログラムまたはスクリプトファイルは、install.sh、setupなどのパッケージで提供されます。 インストール中は、インストールファイルを実行するだけで済みます。ウィザードに従うために、インストール操作を完了するためのプロンプト |
RPMパッケージ管理ツール
Red-Hatパッケージマネージャー
Red Hatによって提案され、多くのLinuxディストリビューションで採用されてい
ます。統合ファイルデータベースを確立します。
ソフトウェアパッケージのインストール、アンインストール、アップグレード、およびその他の変更の詳細な記録。
ソフトウェアパッケージの依存関係の自動分析
RPMパッケージ
一般的な命名形式
RPMコマンドのフォーマット
RPMコマンドは、RPMソフトウェアパッケージのほぼすべての管理機能を実現できます
「manrpm」コマンドを実行して、rpmコマンドに関する詳細なヘルプ情報を取得します
RPMコマンド機能
RPMソフトウェアパッケージの関連情報を照会および検証するRPMソフトウェアパッケージ
をインストール、アップグレード、アンインストールし
、RPMデータベース情報およびその他の包括的な管理操作を維持および再構築します。
RPMパッケージ情報のクエリ
インストールされているRPMソフトウェアに関する情報を照会する
rpm -q [サブオプション] [ソフトウェア名]
オプション | 説明 |
---|---|
-q | 指定したソフトウェアがインストールされているかどうかを問い合わせます |
-気 | インストールされている指定されたソフトウェアの詳細情報を表示します |
-ql | インストールされている指定されたソフトウェアのファイルリストを表示します |
-qc | 指定されたソフトウェアのインストールされている構成ファイルを一覧表示します |
-qd | インストールされている指定されたソフトウェアのパッケージドキュメントの場所を一覧表示します |
-qR | インストールされている指定されたソフトウェアの依存ソフトウェアパッケージとファイルを一覧表示します |
-qf | 指定したソフトウェアがインストールされているインストールパッケージを照会します |
-qaの 例:rpm-qa丨grep-i後置 |
現在のシステムでrpmモードでインストールされているすべてのソフトウェアのリストを表示 し、パイプセグメント記号ですべてのソフトウェアのリストをフィルタリングし、接尾辞がインストールされているかどうかを照会します |
インストールされていないRPMパッケージファイルの情報を照会します
rpm -qp [suboption] RPMパッケージファイル
オプション | 説明 |
---|---|
-qpi | 指定されたソフトウェアパッケージの詳細情報を照会します |
-qpl | 指定されたソフトウェアパッケージのファイルリストを照会します |
-qpc | 指定されたソフトウェアパッケージの構成ファイルを照会します |
-qpd | 指定されたパッケージのパッケージドキュメントの場所を照会します |
RPMソフトウェアパッケージをインストール、アップグレード、およびアンインストールします
RPMソフトウェアをインストールまたはアップグレードする
rpm [オプション] RPMパッケージ...
rpm -ivh RPMパッケージ...(このコマンドは、RPMパッケージをインストールするときに最も一般的に使用されるコマンドです)
オプション | 説明 |
---|---|
-私 | 新しいRPMパッケージをインストールします |
-U(大文字) | ソフトウェアパッケージをアップグレードします。インストールされていない場合は、インストールします。 |
-F | ソフトウェアパッケージがインストールされていない場合はアップグレードし、インストールを中止します |
指定されたRPMソフトウェアをアンインストールします
rpm -eソフトウェア名
-e:指定された名前のソフトウェアパッケージをアンインストールします
補助オプション
オプション | 説明 |
---|---|
-h | ソフトウェアパッケージのインストールまたはアップグレードの過程で、インストールの進行状況が「#」で表示されます |
-v | ソフトウェアのインストール中に詳細情報を表示する |
---力 | 古いパッケージのインストールなど、特定のパッケージの必須インストール |
--- nodeps | ソフトウェアパッケージをインストール、アップグレード、またはアンインストールするときは、他のソフトウェアパッケージとの依存関係を確認しないでください。 |
RPMデータベースを維持する
RPMデータベースを再構築します
RPMデータベースの送信が破損した場合は、RPMデータベースを再構築することで修復できます。
rpm--rebuidddbまたはrpm--initdb
インポート検証共通キー
デジタル署名検証のために公開鍵ファイルをインポートする前に、RPMソフトウェアパッケージの一部をCDにインストールするときにエラーが報告されます。CDのルートディレクトリにある公開鍵ファイルをRPMデータベースにインポートする必要があります。
mount / dev / sr0 / mnt /(最初にマウント)
rpm --import / mnt / RPM-GPG-KEY-CentOS-7(共有キーファイルを再インポートして指定します)
パッケージの依存関係の解決方法
依存関係のある複数のソフトウェアがインストールされている場合
被依赖的软件包需要先安装
可同时指定多个 .rpm包进行安装
卸载有依赖关系的多个软件时
依赖其他程序的软件包需要先卸载
可同时指定多个软件名进行卸载
忽略依赖关系
结合 "- -nodps"选项,但可能导致软件异常
源代码编译安装
源代码编译概述
使用源代码安装软件的优点
获得最新的软件版本,即使修复BUG
根据用户需要,灵活定制软件功能
应用场合
安装较新版本的应用程序时
当前安装的程序无法满足需求时
需要为应用程序添加新的功能时
Tarball封包
源代码编译安装大多数都是使用Tarball安装
.tar.gz和.tar.bz2格式居多
完整性校验
md5sum校验工具
md5加密模式
确认源代码编译环境
需要支持C/C++程序语言的编译器
例如:gcc、gcc-c++、make等
编译安装过程
yum源仓库
因为安装源代码软件包需要编译安装,需要安装支持C和C++程序语言的编译器,而使用rpm安装则需要先安装多个依赖包,这样会很繁琐。所以这里可以使用yum方式进行一键安装
yum安装操作步骤
mount /dev/cdrom /mnt/ #光盘挂载到/mnt目录下
cd /etc/yum.repos.d/
mkdir repos.bak #创建一个新目录用来存放本目录内 .repo 格式的文件
mv *.repo repos.bak
cd /etc/yum.repos.d/ #回到目录
vim local.repo #进入local.repo进行配置
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定 URL 访问路径为光盘挂载目录 /mnt
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
yum clean all && yum makecache #删除yum缓存并更新
先要配置本地yum源仓库
mount /dev/cdrom /mnt/ (先把光盘挂载到/mnt目录下)
cd /etc/yum.repos.d/(进入目录)
mkdir repos.bak(创建repos.bak目录用作备份)
mv *.repo repos.bak(将所有以.repo结尾的文件全部放入repos.bak文件)
cd /etc/yum.repos.d/(进入目录)
vim local.repo(用vim打开/创建一个新文件)
[local] (仓库类别)
name=local (仓库名称)
baseurl=file:///mnt (指定URL访问路径为光盘挂载目录)
enabled=1(开启此yum源,为默认选项,可忽略)
gpgcheck=0 (不验证软件包的签名)
yum clean all && yum makecache (删除yum缓存并更新,&&代表当前面的命令成功后才会执行后面的命令)
yum常用命令
命令 | 说明 |
---|---|
yum -y install 软件名 | 安装、升级软件包,“-y”选项表示自动确认 |
yum -y remove 软件名 | 卸载软件包,可自动解决其依赖关系 |
yum -y update 软件名 | 升级软件包 |
yum list | 查询软件包列表 |
yum list installed | 查询系统中已安装的软件包 |
yum list available | 查询仓库中尚未安装的软件包 |
yum list updates | 查询可以升级版本的软件包 |
yum info 软件名 | 查询软件包的描述信息 |
yum search [all] 关键字 | 根据某个关键词来查找相关的软件包 |
yum whatprovies 命令 | 查询命令属于哪个软件包 |
挂载Windows中的共享目录
Windos端共享权限设定
1.解禁Guest
右击我的电脑选择管理→本地用户和组→在用户选项汇总双击Guset用户→取消账号已禁用选项
2.设置共享目录权限
右击共享目录点属性→在共享页面中点击共享选项→下拉选择共享对象为Everyone→点击共享按钮
3.ローカルポリシーを設定する
コマンドボックスを開く→sepol.mscを入力する→ローカルポリシーを選択する
ユーザー権限の割り当て→ネットワークからのこのコンピューターへのアクセスを拒否する→ゲストユーザーの
セキュリティオプションを削除する→ネットワークアクセス:ローカルアカウントの共有とセキュリティモデル→ドロップダウンしてゲストのみを選択
Linuxマウント側
1.
QRコードをスキャンして、ディレクトリsmbclient -L //XXX.XXX.XXX.XXX/(Windows側のIPアドレス)を共有
します。パスワードを入力せずにEnterキーを直接押します。
2.共有ディレクトリをマウントしますyuminstall
-y cifs-utils
mkdir / data
mount.cifs //xxx.xxx.xxx.xxx/share / data
パスワードを入力せずに、Enterキーを直接押します