#author("2020-11-25T16:33:53+00:00","default:sysosa","sysosa") #author("2021-09-20T14:19:28+00:00","default:sysosa","sysosa") ***localeの話 [#r207f638] 「localectl」コマンドで現在使っているキーマップとか確認できる それを変更するには「localectl set-locale LANG=ja_JP.utf8」とか実行するが、選択肢として「ja_JP.utf8」を確認するには 「localectl list-locales」を実行する 日本語なら「yum install glibc-langpack-ja」が必要 ***Timezonの話 [#a9c21817] 「timedatectl」で確認できる. あと「ls -l /etc/localtime」のリンク先で使っている時間帯が分かる 日本の時間帯を使いたいなら timedatectl set-timezone Asia/Tokyo 英国なら timedatectl set-timezone Europe/London ***マウスポインターでFocusしたい [#t3b32713] ほぼほぼたいていの場合は、マウスでターミナルをクリックしないとそのターミナルに入力できない。 マウスポインターが、そのターミナルにあるからと言ってそのターミナルにコマンドは入力できない。 っで、マウスポインターが位置するターミナルが自動的にFocusとうかactiveになるには #code(nonumber){{ gnome-tweaks }} で調整する必要がある。 この「gnome-tweaks」を起動して、左縦メニューの「Windows」を選び、その右側にある「Window Focus」欄で 「&color(red){Sloppy};」 を選ぶ。そうすればマウスの位置でFocusが決まります。 &size(10){名称的には「Focus Follows Mouse」というみたい}; コマンドラインからは #code(nonumber){{ (現在の関連設定を含めての確認) [saber@c ~]$ gsettings list-recursively | grep 'raise\|focus' | grep pref org.gnome.desktop.wm.preferences focus-new-windows 'smart' org.gnome.desktop.wm.preferences raise-on-click true org.gnome.desktop.wm.preferences auto-raise false org.gnome.desktop.wm.preferences focus-mode 'click' <-- clickでFocus org.gnome.desktop.wm.preferences auto-raise-delay 500 [saber@c ~]$ gsettings set org.gnome.desktop.wm.preferences focus-mode 'mouse' <-- mouseでFocus (設定の確認) [saber@c ~]$ gsettings list-recursively | grep org.gnome.desktop.wm.preferences | grep focus-mode org.gnome.desktop.wm.preferences focus-mode 'mouse' (元に戻す) [saber@c ~]$ gsettings reset org.gnome.desktop.wm.preferences focus-mode (確認) [saber@c ~]$ gsettings list-recursively | grep org.gnome.desktop.wm.preferences | grep focus-mode org.gnome.desktop.wm.preferences focus-mode 'click' }} ***yum updateができなくなった [#j1fcfcd3] #code(nonumber){{ [root@centos7 ~]# yum update CRITICAL:yum.cli:Config error: Error accessing file for config file:///etc/yum.conf }} 「LD_LIBRARY_PATH」環境変数を空にすれば行ける. &size(10){MATLABを扱ったら急にできなくなった...}; ***SELinuxをenforcingにしたらrootでログインできなくなった [#z83609d3] コンソールからもログインできない。青ざめる事態です。 対処方法はboot時の grub にてシングルモードでの起動と同じ術で 「rw init=/bin/sh」 を加えて起動させる。これで一旦パスワードなしで起動するので、その段階でSELinuxを「disabled」とかにして回避する ***PackageKitを停止する [#w91ff8e7] ほとんどmulti-userモードでしか使わないが、たまにgraphical.target、[startx]コマンドで GUI画面で操作するときがある。その際、yumでパッケージ操作をすると「PackageKit」が 動作中で作業が滞るときがある...それを停止するには #code(nonumber){{ systemctl stop packagekit }} ***[su]コマンドの実行者を制限する [#xcd22f26] 「/etc/pam.d/su」を修正します #code(nonumber){{ # Uncomment the following line to require a user to be in the "wheel" group. #auth required pam_wheel.so use_uid ↓ auth required pam_wheel.so use_uid }} これでwheelグループに所属していないと[su]コマンドは使えません。 ユーザを[wheel]グループに所属させるには #code(nonumber){{ usermod -aG <グループ名> <追加されるユーザ> usermod -aG wheel saber }} &color(red){*};「-g」はメインのサークルを変更する感じ &color(red){*};「-aG」はこれまでのサークル参加に変更なく、別のサークルにも参加する感じ &color(red){*};「-G」はメインは代わらないが、それ以外のサークルは全て辞退して別のサークルに入る感じ あるいは直接「vigr」で/etc/groupを書き直す ***autofs設置 [#je317770] /Applをautofsでmountしてみる #code(nonumber){{ [root@g00 ~]# yum install autofs [root@g00 ~]# vi /etc/auto.master /- /etc/auto.Appl /Appl /etc/auto.Appl [root@g00 ~]# vi /etc/auto.Appl /Appl -fstype=nfs,rw gfs:/Appl }} これで/Applへアクセスするとその/Applの中身がわかる ほかにも #code(nonumber){{ [root@g00 ~]# vi /etc/auto.master /Appl /etc/auto.Appl [root@g00 ~]# vi /etc/auto.Appl * -fstype=nfs,rw gfs:/Appl/& }} というのもあるが、これだと/Appl/XXXX と指定しないとそのPATHが有るかがわからない /homeとかの指定にはいいのかもしれない。他ユーザのフォルダをむやみに公開しないので。 設定の反映は「systemctl restart autofs ; systemctl enable autofs」で ***リソース制限 [#o1fcac00] ユーザが使用できるメモリーを制限する 32GBに制限するなら 32*1024*1024=33554432 #code(nonumber){{ [saber@c ~]$ ulimit -v 33554432 }} として #code(nonumber){{ [saber@c ~]$ stress --vm 1 --vm-bytes 31G --timeout 1m }} は通るが、 #code(nonumber){{ [saber@c ~]$ stress --vm 1 --vm-bytes 32G --timeout 1m }} は落ちる。ここでこの制限値なのだが、どうやらプロセス単位のメモリー上限のようで #code(nonumber){{ [saber@c ~]$ stress --vm 2 --vm-bytes 31G --timeout 1m }} は通る。2つのstressプロセスが動き、31GB以上のメモリーを使ってしまう。 ユーザが使用する全てのプロセスでメモリー制限ってないのかな? ***最小限のディスクトップ環境を作る [#tc521664] ベース部分は、「Minimal(CentOS-7.x-xxxx-x86_64-Minimal.iso)」で構築して、その後にディスクトップ環境を作るには #code(nonumber){{ [root@c101 ~]# LANG=C yum groupinstall "GNOME Desktop" }} とせよとある。っが、使いもしないlibreoffice(OpenOffice)なんて不要の極みである。 CentOS6のときにあった「Minimal Dekstop」なんで選択肢がないのが残念。 っで調べると方法があった 参照先: [[https://www.centos.org/forums/viewtopic.php?t=47088>+https://www.centos.org/forums/viewtopic.php?t=47088]] #code(nonumber){{ [root@c101 ~]# yum grouplist hidden # グループパッケージの一覧 [root@c101 ~]# yum groupinstall "X Window System" [root@c101 ~]# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts [root@c101 ~]# yum install vlgothic-fonts.noarch vlgothic-p-fonts.noarch [root@c101 ~]# systemctl set-default graphical [root@c101 ~]# reboot }} 合計で 66M+381M+8M = 455M の追加で最小限のディスクトップ環境が得られました ***シングルモードで起動 [#wc122c1f] 起動途中のGRUB選択画面でカーネルを選択して「e」キーを押下 &ref(2018y04m29d_221510620.png,nolink); そしてコード中の「linux16」から始まる行に下記を追加する #code(nonumber){{ systemd.unit=rescure.target }} こんな感じで(行末でも可) &ref(2018y04m29d_221941768.png,nolink); ***使いたくないモジュール [#i0c59e81] CentOS7.5にしたら今まで認識されてなかった無線モジュールが使えるようになった っが、今のところ活用する考えはない。だがエラーのようにメッセージを吐き出したので無効化することにした。 #code(nonumber){{ [root@c ~]# echo "blacklist iwlwifi" > /etc/modprobe.d/iwlwifi.conf [root@c ~]# reboot }} これで回避 ***パフォーマンス解析 [#r62a4a4f] #code(nonumber){{ perf record -g -a sleep 10 perf report }} ***電源ボタンの無効化 [#q8887fef] 稼働中に電源ボタンを押下するとありがたく奇麗にshutdownしてくれる。 っが時に好ましくない場合がる。その時の対処。 #code(diff,nonumber){{ [root@c ~]# diff -u /etc/systemd/logind.conf.orig /etc/systemd/logind.conf --- /etc/systemd/logind.conf.orig 2017-04-13 04:57:53.000000000 +0900 +++ /etc/systemd/logind.conf 2017-09-22 18:16:51.286358116 +0900 @@ -18,7 +18,7 @@ #KillOnlyUsers= #KillExcludeUsers=root #InhibitDelayMaxSec=5 -#HandlePowerKey=poweroff +HandlePowerKey=ignore #HandleSuspendKey=suspend #HandleHibernateKey=hibernate #HandleLidSwitch=suspend [root@c ~]# }} 編集して、サービスを再起動して journalctl で確認 #code(nonumber){{ [root@c ~]# systemctl restart systemd-logind [root@c ~]# journalctl -u systemd-logind.service : Sep 22 18:17:54 c.sybyl.local systemd[1]: Stopping Login Service... Sep 22 18:17:54 c.sybyl.local systemd[1]: Starting Login Service... Sep 22 18:17:54 c.sybyl.local systemd[1]: Started Login Service. : }} 一応実機でのテストも行うべきかと ***/tmp [#b59e9e22] CentOS6ではtmpwatchがcronで動いて/tmpを定期的にお掃除してくれました。 CentOS7からはsystemdの&color(magenta){systemd-tmpfiles-clean.timer};が担当みたい っでその設定ファイルは /usr/lib/tmpfiles.d/tmp.conf で中身はこんな感じ #code(nonumber){{ [root@c ~]# cat /usr/lib/tmpfiles.d/tmp.conf # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # See tmpfiles.d(5) for details # Clear tmp directories separately, to make them easier to override v /tmp 1777 root root 10d v /var/tmp 1777 root root 30d # Exclude namespace mountpoints created with PrivateTmp=yes x /tmp/systemd-private-%b-* X /tmp/systemd-private-%b-*/tmp x /var/tmp/systemd-private-%b-* X /var/tmp/systemd-private-%b-*/tmp [root@c ~]# }} /tmpにファイルを作って、勝手に削除されないようにするには、/etc/tmpfiles.d に追加情報を入れる。 &size(10){/usr/lib/tmpfiles.d/tmp.confはデフォルトだが、/etc/tmpfiles.dに書かれた内容が優先される}; 例えば、/tmp/capture_data4_...を削除外にするには #code(nonumber){{ [root@c ~]# cat /etc/tmpfiles.d/tmp.conf x /tmp/capture_* [root@c ~]# }} とします ***gurb [#m402f67a] CentOS6なら/boot/grub/grub.confを直接修正したりしたが、CentOS7では設定ファイルを修正して/boot/grub2/grub.cfgを更新する 設定ファイルは&color(crimson){/etc/default/grub};である #code(nonumber){{ GRUB_TIMEOUT=10 *起動カーネルを選ぶ、パラメータを修正するかの待ち時間 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax selinux=0" GRUB_DISABLE_RECOVERY="true" GRUB_GFXPAYLOAD_LINUX=text }} &color(white,blue){要注意}; この設定ファイルを修正した後、grub.cfgに反映させるのだが、&color(darkbrown){BIOS};と&color(darkmagenta){UEFI};とでパラメータが違います -&color(darkbrown){BIOS}; #code(nonumber){{ [root@s ~]# grub2-mkconfig -o /boot/grub2/grub.cfg }} -&color(darkmagenta){UEFI}; #code(nonumber){{ [root@s ~]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg }} あとgrub.cfgは見てはいいが、編集は禁止 &color(red){*};&size(10){&color(crimson){/etc/default/grub};の変更内容が grub.cfg に書かれるので確認は行うべき}; ***efiファイルシステムが、、 [#u82126f6] &color(red){みかんせい}; とある物理マシンにCentOS7をインストールしたら、/boot/efi/EFIがなんかエラー状態になっている。 一応起動・運用は可能だが、/boot/efiはread onlyとなり grub2-mkconfig で更新できない &color(red){*};&size(10){ブート領域を nvme で構築}; #code(nonumber){{ [root@ccc ~]# ls -l /boot/efi/EFI ls: /boot/efi/EFI/??w?b??.??? にアクセスできません: 入力/出力エラーです ls: /boot/efi/EFI/yB?0E ??.??? にアクセスできません: 入力/出力エラーです ls: /boot/efi/EFI/???sZ?;.t? にアクセスできません: 入力/出力エラーです 合計 4622064 d????????? ? ? ? ? ? ????sZ?;.t?? -r-x------ 1 root root 468209194 5月 9 2083 ???S????.F?? -rwx------ 1 root root 1035128140 1月 18 1984 ??%????s.?Se d????????? ? ? ? ? ? ??w?b???.??? -r-x------ 1 root root 3229622512 4月 10 2031 ?P??d??7.f7? drwx------ 2 root root 8192 12月 22 14:03 BOOT drwx------ 22 root root 8192 12月 22 14:44 centos d????????? ? ? ? ? ? yB?0E ??.??? [root@ccc ~]# }} 初めに fsck.vfat で修正を行ったが永遠と修正が走り、終わらない。 なのでこのファイルシステムごとフォーマットしなおした #code(nonumber){{ [root@ccc ~]# cd /boot/efi [root@ccc efi]# tar cvf /root/efi.tar ./EFI/BOOT/BOOTX64.EFI ./EFI/BOOT/fallback.efi ./EFI/centos/BOOT.CSV \ ./EFI/centos/MokManager.efi ./EFI/centos/gcdx64.efi ./EFI/centos/grub.cfg ./EFI/centos/grubenv ./EFI/centos/grubx64.efi \ ./EFI/centos/shim-centos.efi ./EFI/centos/shim.efi ./EFI/centos/fonts/unicode.pf2 [root@ccc efi]# cd [root@ccc ~]# umount /boot/efi [root@ccc ~]# mkfs.vfat -F32 /dev/nvme0n1p1 [root@ccc ~]# mount /dev/nvme0n1p1 /boot/efi [root@ccc ~]# ls -l /dev/disk/by-uuid/ */dev/nvme0n1p1 のUUIDを確認 [root@ccc ~]# vi /etc/fstab */boot/efiのUUIDを編集 [root@ccc ~]# cd /boot/efi [root@ccc efi]# tar xvf /root/efi.tar [root@ccc efi]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg *変更可能かのテスト [root@ccc efi]# ls -l /boot/efi/EFI/centos/grub.cfg *タイムスタンプの更新で確認する }} ***ローカルにユーザを作らせない [#tf6d8a8a] どうしてもroot以外のユーザを作らせたいみたい。用途によっては面倒。 っで、&color(magenta){gnome-initial-setup};を削除すれば、問われないみたい。 #code(nonumber){{ [root@e ~]# yum info gnome-initial-setup (略) 名前 : gnome-initial-setup アーキテクチャー : x86_64 バージョン : 3.14.4 リリース : 5.el7 容量 : 1.0 M リポジトリー : base/7/x86_64 要約 : Bootstrapping your OS URL : https://live.gnome.org/GnomeOS/Design/Whiteboards/InitialSetup ライセンス : GPLv2+ 説明 : GNOME Initial Setup is an alternative to firstboot, providing : a good setup experience to welcome you to your system, and walks : you through configuring it. It is integrated with gdm. [root@e ~]# [root@e ~]# yum remove gnome-initial-setup }} firstbootが「&color(magenta){gnome-initial-setup};」になったようです ***cpuのクロック調整 [#hd614b16] CentOS6の時は別途ツールをインストールしていたが、CentOS7では標準で cpupower.service が用意されている。なので #code(nonumber){{ [root@e ~]# systemctl enable cpupower.service [root@e ~]# systemctl start cpupower.service }} とすればいいみたい。設定は /etc/sysconfig/cpupower にある。 現在のクロックを調べるには cpupower が使えて、 #code(nonumber){{ [root@e ~]# cpupower frequency-info analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: 0.97 ms. hardware limits: 800 MHz - 3.90 GHz available cpufreq governors: performance, powersave current policy: frequency should be within 800 MHz and 3.90 GHz. The governor "powersave" may decide which speed to use within this range. current CPU frequency is 800 MHz (asserted by call to hardware). boost state support: Supported: yes Active: yes [root@e ~]# }} となる ***SELinuxの無効化 [#uf2e12c5] そろそろ無効化をやめて、飼い馴らしたいのだが..... &size(10){以前の方法(selinux=0)だと有効にならないみたい}; #code(nonumber){{ [root@c105 ~]# vi /etc/selinux/config SELINUX=disabled [root@c105 ~]# reboot }} ***Firewallの停止 [#v8794ddd] 一応、こちらもそろそろ停止は控えて飼い馴らしたいものだが.....いまだに使ってないです #code(nonumber){{ [root@c105 ~]# systemctl disable firewalld.service }} ***サービス一覧 [#i0b14ba0] 各種デーモンの起動状態を示します #code(nonumber){{ [root@c105 ~]# systemctl list-unit-files --type=service }} &color(lime){''enabled''};は自動起動デーモン &color(red){''disabled''};は自動起動の対象になっていないデーモン ***systemdのログ抑制 [#if17fc3e] #code(nonumber){{ [root@c105 ~]# sed -i "s/#LogLevel=info/LogLevel=notice/" /etc/systemd/system.conf }} &color(red){*};&size(10){どうもcron実行時に/var/log/messagesに追記されてる感じ}; ***時計合わせ [#wdc9d225] ntpではなく、chronyがプライマリみたい。chronyの代わりにntpを採用しても問題ないけど。 #code(nonumber){{ [root@c105 ~]# yum install chrony [root@c105 ~]# cp -a /etc/chrony.conf /etc/chrony.conf.orig [root@c105 ~]# cat <<_EOF_ >/etc/chrony.conf server 192.168.0.3 iburst stratumweight 0 driftfile /var/lib/chrony/drift rtcsync makestep 10 3 bindcmdaddress 127.0.0.1 bindcmdaddress ::1 keyfile /etc/chrony.keys commandkey 1 generatecommandkey noclientlog logchange 0.5 logdir /var/log/chrony _EOF_ [root@c105 ~]# [root@c105 ~]# systemctl list-unit-files --type=service | grep chronyd chronyd.service enabled [root@c105 ~]# [root@c105 ~]# systemctl status chronyd chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled) Active: inactive (dead) [root@c105 ~]# [root@c105 ~]# systemctl start chronyd [root@c105 ~]# chronyc sources -v }} ***NFSサーバ [#hd398e2e] nfs-utilsをインストールして、対象のサービスを自動起動対象にして再起動。 #code(nonumber){{ [root@nfs1 ~]# yum install nfs-utils [root@nfs1 ~]# systemctl list-unit-files --type=service |grep -e nfs -e rpc auth-rpcgss-module.service static nfs-blkmap.service disabled nfs-config.service static nfs-idmap.service static nfs-idmapd.service static nfs-lock.service static nfs-mountd.service static nfs-rquotad.service disabled nfs-secure-server.service static nfs-secure.service static nfs-server.service disabled nfs-utils.service static nfs.service disabled nfslock.service static rpc-gssd.service static rpc-rquotad.service disabled rpc-statd-notify.service static rpc-statd.service static rpc-svcgssd.service static rpcbind.service static rpcgssd.service static rpcidmapd.service static rpcsvcgssd.service static [root@nfs1 ~]# [root@nfs1 ~]# cat <<_EOF_> /etc/exports /Appl 192.168.0.*(rw,no_root_squash) /home 192.168.0.*(rw) _EOF_ [root@nfs1 ~]# exportfs -avr [root@nfs1 ~]# systemctl enable nfs-server.service [root@nfs1 ~]# systemctl list-unit-files --type=service |grep -e nfs -e rpc auth-rpcgss-module.service static nfs-blkmap.service disabled nfs-config.service static nfs-idmap.service static nfs-idmapd.service static nfs-lock.service static nfs-mountd.service static nfs-rquotad.service disabled nfs-secure-server.service static nfs-secure.service static nfs-server.service enabled nfs-utils.service static nfs.service disabled nfslock.service static rpc-gssd.service static rpc-rquotad.service disabled rpc-statd-notify.service static rpc-statd.service static rpc-svcgssd.service static rpcbind.service static rpcgssd.service static rpcidmapd.service static rpcsvcgssd.service static [root@nfs1 ~]# reboot }} ***NISクライアント [#qebc6755] #code(nonumber){{ [root@smb ~]# yum install ypbind autofs nfs-utils [root@smb ~]# authconfig-tui [root@smb ~]# systemctl enable ypbind.service nfs-idmap.service autofs.service && reboot }} ***unit[#hdac5e9a] 従来のinit.dにあるサービス関係が&color(magenta){unit};という概念に。 その&color(magenta){unit};には、 -target -mount -service -device な種類があり、httpd.targetとかAppl.mountがある。 windowsみたく、これにはこれが必須で、使う前にこれが起動している事が必須とか相互の依存関係で成り立つ。 旧来のinit.dはここら辺はすべて番号でしたな。 ***現在適用されているtarget [#s34f54ef] 従来の/etc/inittabで3(テキストモード)とか5(X11モード)とか起動モードを選べたのだが、今回から &color(magenta){unit};枠組みのtargetにまとめられている。現在のtargetは下記より得られる。 #code(nonumber){{ [root@c105 system]# systemctl get-default multi-user.target [root@c105 system]# }} 単に/etc/systemd/system/default.targetが指し示すtargetが起動モードになるみたい #code(nonumber){{ [root@c105 system]# ls -l /etc/systemd/system/default.target lrwxrwxrwx. 1 root root 37 7月 21 02:29 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target [root@c105 system]# }} init 3とかのような選ばれたrunlevel、ここでは&color(orangered){multi-user.target};で実際にどんなサービスが起動するかは &color(mediumvioletred){/lib/systemd/system/};、もしくは&color(mediumseagreen){/etc/systemd/system/};の&color(orangered){multi-user.target};フォルダ内で定義される。 同じ名目(&color(orangered){multi-user.target};)なら後者が優先。 &color(mediumvioletred){/lib/systemd/system/multi-user.target.wants/}; と &color(mediumseagreen){/etc/systemd/system/multi-user.target.wants/}; があれば、&color(mediumseagreen){''/etc/systemd/system/multi-user.target.wants/''};を使用する。 &color(red){*};/lib/systemd/system/multi-user.target.wants/は見ない? っで、&color(orangered){multi-user.target};で動くサービスは下記になる。 #code(nonumber){{ [root@c105 ~]# ls -CF /etc/systemd/system/multi-user.target.wants NetworkManager.service@ crond.service@ postfix.service@ sshd.service@ auditd.service@ irqbalance.service@ remote-fs.target@ tuned.service@ avahi-daemon.service@ kdump.service@ rsyslog.service@ [root@c105 ~]# }} これらはすべて/usr/lib/systemd/system/からのリンクでもある。 systemctl set-default multi-user.target ***target(run level)を変更する [#jbba0226] 一時だけ変えるのならisolateを使用する。CentOS6までのinit 3 とか init 5に相当かな #code(nonumber){{ [root@c105 ~]# systemctl isolate graphical.target # init 5に相当 [root@c105 ~]# systemctl isolate multi-user.target # init 3に相当 }} 恒久的に変更するなら set-default を使用する #code(nonumber){{ [root@c105 ~]# systemctl set-default graphical.target [root@c105 ~]# reboot }} &color(red){*};&size(10){再起動すれば有効になります}; ***依存関係 [#x7076896] #code(nonumber){{ [root@c105 ~]# systemctl list-dependencies default.target ├─auditd.service ├─avahi-daemon.service ├─crond.service (中略) ├─irqbalance.service ├─kdump.service ├─network.service ├─NetworkManager.service (中略) ├─postfix.service ├─rsyslog.service ├─sshd.service (中略) ├─tuned.service ├─basic.target │ ├─firewalld.service (中略) │ ├─sockets.target │ │ ├─avahi-daemon.socket │ │ ├─dbus.socket (中略) │ ├─sysinit.target │ │ ├─dev-hugepages.mount (中略) │ │ ├─cryptsetup.target │ │ ├─local-fs.target │ │ │ ├─-.mount │ │ │ ├─boot.mount (中略) │ │ └─swap.target │ │ ├─dev-disk-by\x2duuid-622ccab1\x2d15a1\x2d4665\x2da4a3\x2d61307a31b5e2.... │ │ ├─dev-disk-by\x2duuid-622ccab1\x2d15a1\x2d4665\x2da4a3\x2d61307a31b5e2.... │ │ └─dev-vda2.swap │ └─timers.target │ └─systemd-tmpfiles-clean.timer ├─getty.target │ └─getty@tty1.service └─remote-fs.target [root@c105 ~]# }} ***自動起動なサービス一覧 [#v3c6ebff] #code(nonumber){{ [root@c105 ~]# systemctl list-unit-files |grep "enabled" }} -サービス停止 systemctl stop firewalld -サービス起動 systemctl start firewalld -サービス自動起動 systemctl enable firewalld -サービス自動起動停止 systemctl disable firewalld &color(red){*};特定の起動モードmulti-user.target(init 3)とかgraphical.target(init 5)を指定するなら、そのサービス(/usr/lib/systemd/system/firewalld.service)の[Install]欄、WantedBy項目に名目を記載する #code(nonumber){{ [root@c105 ~]# tail -n 5 /usr/lib/systemd/system/firewalld.service BusName=org.fedoraproject.FirewallD1 [Install] WantedBy=basic.target Alias=dbus-org.fedoraproject.FirewallD1.service [root@c105 ~]# }} ***acpi [#n72cd34b] qemuで仮想マシンを停止させる際に、必要なデーモン。acpi #code(nonumber){{ [root@c105 ~]# yum -y install acpid }} 「rpm -qali」で調べるとsystemctl関係では「/usr/lib/systemd/system/acpid.service」があるみたい。 #code(nonumber){{ [root@c105 ~]# systemctl --no-pager --all |grep acpid acpid.service loaded inactive dead ACPI Event Daemon [root@c105 ~]# }} と一応認識されている。デーモンを起動させてみる #code(nonumber){{ [root@c105 ~]# systemctl status acpid.service acpid.service - ACPI Event Daemon Loaded: loaded (/usr/lib/systemd/system/acpid.service; enabled) *既に自動起動項目入り Active: inactive (dead) [root@c105 ~]# [root@c105 ~]# systemctl start acpid.service [root@c105 ~]# systemctl status acpid.service acpid.service - ACPI Event Daemon Loaded: loaded (/usr/lib/systemd/system/acpid.service; enabled) Active: active (running) since Sat 2014-07-26 01:32:09 JST; 22s ago Process: 4983 ExecStart=/usr/sbin/acpid $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 4984 (acpid) CGroup: /system.slice/acpid.service `-4984 /usr/sbin/acpid Jul 26 01:32:09 c105.chaperone.jp systemd[1]: Started ACPI Event Daemon. Jul 26 01:32:09 c105.chaperone.jp acpid[4984]: starting up with netlink and the input layer Jul 26 01:32:09 c105.chaperone.jp acpid[4984]: skipping incomplete file /etc/acpi/events/videoconf Jul 26 01:32:09 c105.chaperone.jp acpid[4984]: 1 rule loaded Jul 26 01:32:09 c105.chaperone.jp acpid[4984]: waiting for events: event logging is off [root@c105 ~]# }} ***yum [#fc06a948] CentOS6と変化なし。 epelリポジトリは下記のようにして登録する。 #code(nonumber){{ [root@c105 ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm [root@c105 ~]# [root@c105 ~]# [root@c105 ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo }} っでテスト #code(nonumber){{ [root@c105 ~]# yum --enablerepo=epel list | grep "^R\." R.x86_64 3.1.1-1.el7 epel [root@c105 ~]# }} groupinstallも同じで #code(nonumber){{ [root@c105 ~]# yum -y groupinstall "Development Tools" }} 最小環境からディスクトップ環境を用意したいなら #code(nonumber){{ [root@c105 ~]# yum -y groupinstall "GNOME Desktop" }} ***マシン停止 [#h2902aec] shutdownもpoweroffもsystemctlに繋がっている。 #code(nonumber){{ [root@c105 ~]# ls -l /usr/sbin/shutdown /usr/sbin/poweroff lrwxrwxrwx. 1 root root 16 7月 13 10:18 /usr/sbin/poweroff -> ../bin/systemctl lrwxrwxrwx. 1 root root 16 7月 13 10:18 /usr/sbin/shutdown -> ../bin/systemctl [root@c105 ~]# }} ***telnet [#c3d80eeb] まあー標準で、telnetサーバは入っていない。いまやsshが標準なのだが、慣れているので入れる。 #code(nonumber){{ [root@c105 ~]# yum -y install telnet-server telnet [root@c105 ~]# systemctl start telnet.socket *起動 [root@c105 ~]# systemctl enable telnet.socket *自動起動へ [root@c105 ~]# telnet localhost Trying ::1... Connected to localhost. Escape character is '^]'. Kernel 3.10.0-123.el7.x86_64 on an x86_64 c105 login: }} telnet.serviceかなと思ったのだが、telnet.socketになるみたい。っでtelnet.socketのログは #code(nonumber){{ [root@c105 ~]# env LANG=C systemctl status telnet.socket telnet.socket - Telnet Server Activation Socket Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled) Active: active (listening) since Thu 2014-07-24 17:05:05 JST; 15min ago Docs: man:telnetd(8) Listen: [::]:23 (Stream) Accepted: 2; Connected: 0 Jul 24 17:05:05 c105.chaperone.jp systemd[1]: Starting Telnet Server Activation Socket. Jul 24 17:05:05 c105.chaperone.jp systemd[1]: Listening on Telnet Server Activation Socket. [root@c105 ~]# }} と見れる。journalctlコマンドを使うのがいいのかも知れない。。 #code(nonumber){{ [root@c105 ~]# env LANG=C journalctl -u telnet.socket -- Logs begin at Tue 2014-07-22 02:30:34 JST, end at Thu 2014-07-24 17:07:04 JST. -- Jul 24 17:05:05 c105.chaperone.jp systemd[1]: Starting Telnet Server Activation Socket. Jul 24 17:05:05 c105.chaperone.jp systemd[1]: Listening on Telnet Server Activation Socket. [root@c105 ~]# }} 「journalctl -f -u telnet.socket」だと、tail -f な感じになる。「-f」は「Follow the journal」の意。 「-u」は「Show data only from the specified unit」を意味する。 ***開発環境のインストール [#vba3d650] CentOS7の開発環境は、&color(magenta){yum groupinstall development};にて行う #code(nonumber){{ [root@e ~]# yum groupinstall development }}