このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

CentOS8.1 このメッセージに返信する
日時: 2019/12/26(Thu) 20:21
名前: superweibu
URL:
CR.repoに大量のパッケージ
CentOS8.1がきたぽいですね。

8.1の目玉はlive kernelパッチ
再起動しないでカーネルの脆弱性を修正できる。
もっともcritical levelとかそういうのだけだろうけど・・・。
記事編集 編集

Page: | 1 | 2 |

Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/08(Wed) 08:12
名前: stranger
URL:
el7のkernel-5.4.8の場合

必要なファイル
kernel-ml-5.4.8-1.el7.elrepo.nosrc.rpm
(https://elrepo.org/linux/kernel/)
linux-5.4.8.tar.xz
(https://www.kernel.org/)

# rpm -ivh --nosignature kernel-ml-5.4.8-1.el7.elrepo.nosrc.rpm
# cp linux-5.4.8.tar.xz ~/rpmbuild/SOURCES
# cd ~/rpmbuild/SOURCES
# cp config-5.4.8-x86_64 config-5.4.8-x86_64.orig
# cd ~/rpmbuild/SPECS
# cp kernel-ml-5.4.spec kernel-mn-5.4.spec

適当にspecファイル(kernel-mn-5.4.spec)を修正
%define LKAver 5.4.8
(elrepoのサポートが切れた場合、継続してlongtermを使用したい場合に変える)
%define with_doc %{?_without_doc: 0} %{?!_without_doc: 0}
%define with_perf %{?_without_perf: 0} %{?!_without_perf: 0}
%define with_tools %{?_without_tools: 0} %{?!_without_tools: 0}
(kernel以外は必要ないので作らない、必要なパッケージも少なくなる、asciidocなど)
(作っても依存性の関係で入れられない場合がある)
Name: kernel-mn
(自前の名前にする yumでinstallする場合にcentosのkernelとは別のものと判定される)

# rpmbuild --nobuild kernel-mn-5.4.spec
(必要な開発パッケージを調べてエラーがでたらyumで入れる)

# rpmbuild -bp --define 'buildid .1' kernel-mn-5.4.spec
(.configファイルが作られる エラーがでた場合は修正する)
(buildid .1はkernel-ml名でそのまま使用する場合などにマイナーバージョンを上げるのに使う)

# cd ../BUILD/kernel-mn-5.4.8/linux-5.4.8-1.1.el7.x86_64
# make menuconfig
(.configファイルを作成しSOURCESディレクトリにコピー)
# cp .config ~/rpmbuild/SOURCES/config-5.4.8-x86_64

# cd ~/rpmbuild/SPECS
# rpmbuild -ba --clean --rmsource --define 'buildid .1' kernel-mn-5.4.spec
# cd ../RPMS/x86_64
# ls -1
kernel-mn-5.4.8-1.1.el7.x86_64.rpm
kernel-mn-devel-5.4.8-1.1.el7.x86_64.rpm
kernel-mn-headers-5.4.8-1.1.el7.x86_64.rpm

# yum localinstall kernel-mn-5.4.8-1.1.el7.x86_64.rpm

# grub2-editenv list
saved_entry=CentOS Linux (5.4.8-1.1.el7.x86_64) 7 (Core)
(/etc/sysconfig/kernelで自前のkernel名を指定している場合はデフォルトになる)
# grub2-mkconfig -o /boot/grub2/grub.cfg
または
# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

工程を抜粋して書きました、もっと細かくディレクトリ移動やコピーをしています
el8はkernelの構成が違うので工程が異なると思います(やっていませんのでわからない)

参考
古いelrepo.nosrc.rpmを保存してくれているサイト
http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/SRPMS/

kernel-5.4.xは Dec, 2021 までサポートされるので使い続けようと思ったら
本家のmain line は最新stableに変わるのでnosrc.rpmが必要な場合により所となります
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/09(Thu) 19:30
名前: superweibu
URL:
strangerさんありがとう。

ちなみに普通のライブラリーとかphpをコードから
rpmファイル作成する方法あります?
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/10(Fri) 08:27
名前: stranger
URL:
fedora(RHEL)のphpのメンテナをしているremiさんのサイト
https://fr2.rpmfind.net/linux/remi/SRPMS/
ここのsrc.rpmパッケージを使います
最新のphpにすぐに対応しています
必要なライブラリもあります
最初にgd-lastやlibwebp7などの必要なパッケージをビルドして
その後にphpパッケージをビルドします

postgre,firebirdやnginxにも対応してるので
自分の要求に合わせてspecファイルを修正します

build-apacheに移動してからtestを実行するので
通常のテストとは異なります

yumにremi.repoを入れて完成品をそのまま使わせてもらえば問題ないけど

追記
phpのソースコードをダウンロードして
configureを実行するとspecファイルがつくられるけど
それを使ってbuildしたことはありません

php以外ではfedoraprojectのsrc.rpmパッケージを使います
例 openssh
https://src.fedoraproject.org/rpms/openssh/

centosのrpmbuildでは解釈できない構文もでてくるので
そこからが経験ですね

それから、kernelのビルドには余裕をもって30Gくらい空きがないと上手くいかない
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/10(Fri) 20:04
名前: superweibu
URL:
Strangerさん、
何回もご丁寧にありがとうございます。

わざわざパッケージをつくらなくても、
コードからインストールすればいいだけですからね。
もしくは他のパッケージをつかえばいいだけですらかなー。
ありがとうございました。
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/11(Sat) 08:07
名前: stranger
URL:
ソースコードからインストールした場合は
別のマシンでmakeしたものをサーバなどにインストールするときに
サーバ側の環境を読み込んで再構築する場合があって
サーバ側に開発環境を入れる必要がでてきます
セキュリティを重要視する場合にはmake実行可能な環境は危険なんですね
セキュリティの専門家がいない状況では
全てrpmで管理できればその方が安全なのです
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/17(Fri) 12:29
名前: superweibu
URL:
CentOS8.1 crから移動したかな?
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/18(Sat) 14:06
名前: stranger
URL:
http://mirror.centos.org/centos-8/
本家のサイトは1月13日午前0時に変わったようです

蛇足
1月14日の朝早くから
windowsのupgradeに手こずったのでみてませんでした
CentOSでダウンロードできる最新のisoファイルではエラーになるので
昔ダウンロードしておいたWin10_1511_Japanese_x64.isoを
KVMのCD-ROMに指定してwin7で実行しました
(win7のアップデート履歴をクリアしてsetup.exeを実行)
今日win10を最新にアップデートしました
1月18日現在もダウンロードサイトにはisoファイルがありますね
これをつかってライセンスを直接購入したほうが安いのかな
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/25(Sat) 00:00
名前: superweibu
URL:
strangerさん

私がいうのもなんだが、
シェルスクリプトがっつり勉強しなおしたいんですよね。
なんかありませんかね?
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/25(Sat) 12:47
名前: stranger
URL:
プロがアマチュアに聞いてもね 答えようがないです
perlスクリプトやpythonスクリプトもあるし
若い頃はオライリーのbash本を買って呼んだような
日経LINUXを購読してた頃はbashスクリプトの連載があったりした
今は、netで情報を集めて自分なりに修正して使わせてもらってます
記事編集 編集
Re: CentOS8.1 このメッセージに返信する
日時: 2020/01/25(Sat) 22:45
名前: superweibu
URL:
そのプロですがw
strangerさんのスキルにみんなびびってますけどねw
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -