SlideShare a Scribd company logo
1 of 18
Download to read offline
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
polidog に RPM の
作り方を教える
polidogと学ぶサーバに関する技術
2015-11-28
となか
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
自己紹介
名前: となかふみひさ✓
ID: @ftnk✓
インフラエンジニア
Solaris✓
✓
最近 Ruby で REST 叩く何か書
いてます
✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
agenda
RPM とは✓
なぜ RPM を作るのか✓
RPM の作り方✓
YUM repository の作り方✓
spec file を読む✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
RPM とは
RPM Package Manager (RPM)
以前は RedHat Package Manager✓
✓
http://www.rpm.org/✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
なぜ RPM を作るのか
本番環境でビルドするのは面倒✓
本番環境以外でビルドしても、
tarball じゃ面倒
✓
依存関係の管理が面倒✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
RPM の作り方
ビルド環境を作る✓
spec file を書く✓
rpmbuild でビルド✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
ビルド環境を作る
GCC などのビルド関連パッケー
ジをインストール
yum groupinstall 'Development
tools'
✓
✓
~/.rpmmacros を用意
%_topdir の設定✓
✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
SRPM からビルドしてみる
$ wget http://vault.centos.org/6.6/os/Source/SPackages/less-436-13.el6.src.rpm
$ rpmbuild --rebuild less-436-13.el6.src.rpm
%{_topdir}/RPMS/x86_64/
less-436-13.el6.x86_64.rpm がで
きる。
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
spec file を読む
SRPM をインストールして
spec file を取り出す
rpm -ivh less-436-13.el6.src.rpm✓
%{_topdir}/SPECS/less.spec ができ
る
✓
✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
section
spec file は以下の 6 個のセクションからなる。
introduction section: パッケージ名などの
情報
✓
prep section: ソースの展開など✓
build section: configure && make など✓
install section: make install など✓
clean section: ビルドしたファイルの削除な
ど
✓
files section: パッケージに含めるファイル
の指定
✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
spec file から build して
みる
$ rpmbuild -ba %{_topdir}/SPECS/less.spec
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
基本は
ここまで
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
PHP
編
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
PHP の何をビルドする?
PHP CLI✓
PHP CGI✓
Apache module (mod_php)✓
PHP-FPM✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
全部
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
REMI の SRPM を読む
http://rpms.famillecollet.com/SRPMS/✓
http://rpms.famillecollet.com/SRPMS/
php-7.0.0-0.12.RC8.remi.src.rpm
✓
http://rpms.famillecollet.com/SRPMS/
php-5.6.16-1.remi.src.rpm
✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
yum repository の作り方
repository サーバは単なる
web server。
✓
createrepo コマンドでメタデ
ータを生成しておけばよい。
✓
polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8
まとめ
Linux で RPM を作るのは簡単

More Related Content

What's hot

Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記96smcln
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話Masaki Kobayashi
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)さくらインターネット株式会社
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented featuretamtam180
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundryi_yudai
 
Nas4 freeへzabbix agentを導入してみた
Nas4 freeへzabbix agentを導入してみたNas4 freeへzabbix agentを導入してみた
Nas4 freeへzabbix agentを導入してみたkometch H
 
aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話Nozomu KURASAWA
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話Yuki Kanazawa
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話YASUKAZU NAGATOMI
 
sidで始める開発者生活
sidで始める開発者生活sidで始める開発者生活
sidで始める開発者生活Nozomu KURASAWA
 
GPD WINでStretchを動かす
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かすYuma Ohgami
 
Introduction to Ostinato , network packet crafting and generator.
Introduction to Ostinato, network packet crafting and generator.Introduction to Ostinato, network packet crafting and generator.
Introduction to Ostinato , network packet crafting and generator.Kentaro Ebisawa
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方Akihiro Kitada
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
DockerコンテナでPython3を使う
DockerコンテナでPython3を使うDockerコンテナでPython3を使う
DockerコンテナでPython3を使うKazuhiro Suga
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
第1回concrete5初心者向け勉強会 環境構築
第1回concrete5初心者向け勉強会 環境構築 第1回concrete5初心者向け勉強会 環境構築
第1回concrete5初心者向け勉強会 環境構築 武彦 大山
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgKentaro Ebisawa
 

What's hot (20)

Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
 
Nas4 freeへzabbix agentを導入してみた
Nas4 freeへzabbix agentを導入してみたNas4 freeへzabbix agentを導入してみた
Nas4 freeへzabbix agentを導入してみた
 
aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
sidで始める開発者生活
sidで始める開発者生活sidで始める開発者生活
sidで始める開発者生活
 
GPD WINでStretchを動かす
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かす
 
Introduction to Ostinato , network packet crafting and generator.
Introduction to Ostinato, network packet crafting and generator.Introduction to Ostinato, network packet crafting and generator.
Introduction to Ostinato , network packet crafting and generator.
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
DockerコンテナでPython3を使う
DockerコンテナでPython3を使うDockerコンテナでPython3を使う
DockerコンテナでPython3を使う
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
第1回concrete5初心者向け勉強会 環境構築
第1回concrete5初心者向け勉強会 環境構築 第1回concrete5初心者向け勉強会 環境構築
第1回concrete5初心者向け勉強会 環境構築
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 

Viewers also liked

polidog に elasticsearch を教える
polidog に elasticsearch を教えるpolidog に elasticsearch を教える
polidog に elasticsearch を教えるftnk
 
Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI ftnk
 
日経平均上下予想Botを作った話
日経平均上下予想Botを作った話日経平均上下予想Botを作った話
日経平均上下予想Botを作った話dokechin
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Atsuo Ishimoto
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Nao Oec
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてSato Shun
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】MOCKS | Yuta Morishige
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版MOCKS | Yuta Morishige
 

Viewers also liked (9)

polidog に elasticsearch を教える
polidog に elasticsearch を教えるpolidog に elasticsearch を教える
polidog に elasticsearch を教える
 
Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI
 
日経平均上下予想Botを作った話
日経平均上下予想Botを作った話日経平均上下予想Botを作った話
日経平均上下予想Botを作った話
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 

Similar to Polidog に RPM の作り方を教える

OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8Satoshi Ohkubo
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Kazuo Asano (@kazuo_asa)
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイKazuhiro Hara
 
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築	【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築 SolarisJP
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみようアシアル株式会社
 
Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1Kazunori Inaba
 
関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側Gosuke Miyashita
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇Manabu Ori
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
Itamae provisioning for FreeBSD
Itamae provisioning for FreeBSDItamae provisioning for FreeBSD
Itamae provisioning for FreeBSDYuichiro Naito
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座Masahito Zembutsu
 
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Sea Mountain
 
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較真治 米田
 

Similar to Polidog に RPM の作り方を教える (20)

曖昧 RPM 講座
曖昧 RPM 講座曖昧 RPM 講座
曖昧 RPM 講座
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
 
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築	【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
【第四回 ゼロからはじめる Oracle Solaris 11】02 統合アーカイブが変える仮想化環境の構築
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
 
Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1
 
関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側
 
Let's make your CDN with RUBY
Let's make your CDN with RUBYLet's make your CDN with RUBY
Let's make your CDN with RUBY
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Itamae provisioning for FreeBSD
Itamae provisioning for FreeBSDItamae provisioning for FreeBSD
Itamae provisioning for FreeBSD
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (10)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Polidog に RPM の作り方を教える

  • 1. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 polidog に RPM の 作り方を教える polidogと学ぶサーバに関する技術 2015-11-28 となか
  • 2. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 自己紹介 名前: となかふみひさ✓ ID: @ftnk✓ インフラエンジニア Solaris✓ ✓ 最近 Ruby で REST 叩く何か書 いてます ✓
  • 3. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 agenda RPM とは✓ なぜ RPM を作るのか✓ RPM の作り方✓ YUM repository の作り方✓ spec file を読む✓
  • 4. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 RPM とは RPM Package Manager (RPM) 以前は RedHat Package Manager✓ ✓ http://www.rpm.org/✓
  • 5. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 なぜ RPM を作るのか 本番環境でビルドするのは面倒✓ 本番環境以外でビルドしても、 tarball じゃ面倒 ✓ 依存関係の管理が面倒✓
  • 6. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 RPM の作り方 ビルド環境を作る✓ spec file を書く✓ rpmbuild でビルド✓
  • 7. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 ビルド環境を作る GCC などのビルド関連パッケー ジをインストール yum groupinstall 'Development tools' ✓ ✓ ~/.rpmmacros を用意 %_topdir の設定✓ ✓
  • 8. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 SRPM からビルドしてみる $ wget http://vault.centos.org/6.6/os/Source/SPackages/less-436-13.el6.src.rpm $ rpmbuild --rebuild less-436-13.el6.src.rpm %{_topdir}/RPMS/x86_64/ less-436-13.el6.x86_64.rpm がで きる。
  • 9. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 spec file を読む SRPM をインストールして spec file を取り出す rpm -ivh less-436-13.el6.src.rpm✓ %{_topdir}/SPECS/less.spec ができ る ✓ ✓
  • 10. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 section spec file は以下の 6 個のセクションからなる。 introduction section: パッケージ名などの 情報 ✓ prep section: ソースの展開など✓ build section: configure && make など✓ install section: make install など✓ clean section: ビルドしたファイルの削除な ど ✓ files section: パッケージに含めるファイル の指定 ✓
  • 11. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 spec file から build して みる $ rpmbuild -ba %{_topdir}/SPECS/less.spec
  • 12. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 基本は ここまで
  • 13. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 PHP 編
  • 14. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 PHP の何をビルドする? PHP CLI✓ PHP CGI✓ Apache module (mod_php)✓ PHP-FPM✓
  • 15. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 全部
  • 16. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 REMI の SRPM を読む http://rpms.famillecollet.com/SRPMS/✓ http://rpms.famillecollet.com/SRPMS/ php-7.0.0-0.12.RC8.remi.src.rpm ✓ http://rpms.famillecollet.com/SRPMS/ php-5.6.16-1.remi.src.rpm ✓
  • 17. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 yum repository の作り方 repository サーバは単なる web server。 ✓ createrepo コマンドでメタデ ータを生成しておけばよい。 ✓
  • 18. polidog に RPM の作り方を教える - polidogと学ぶサーバに関する技術2015-11-28 Powered by Rabbit 2.1.8 まとめ Linux で RPM を作るのは簡単