Ubuntu 18.04起動自動設定
4496 ワード
Ubuntu 16.10はinitd管理システムを使用しなくなり、システムctlコマンドでサービスとchkconfigを置き換える機能を含むシステムを変更しました.例えば、以前はmysqlサービス用
実行コマンド
一般的な起動ファイルには3つのコンポーネントが必要です
[Unit]セグメント:起動順序と依存関係[Services]セグメント:起動動作、起動方法、起動タイプ[Install]セグメント:このプロファイルのインストール方法、つまり起動方法を定義します
上に[Install]段が少なくなったので、下のInstall段を追加します.
Ubuntu-18.04のデフォルトは/etc/rcではありません.localこのファイルは、自分で作成する必要があります
システムdはデフォルトで/etc/systemd/systemd/systemmのプロファイルを読み込むので、/etc/systemd/systemmディレクトリでソフトリンクを作成する必要があります.
スクリプトを起動して/etc/rcに書き込む必要があります.local、まずテストスクリプトを書いてテストします
rcをあげるlocal実行可能権限
サービスの開始とステータスの確認
再起動後にtextがあるかどうかを確認します.log生成、および書き込み内容が
sudo service mysql start
を起動していたが、現在はsudo systemctl start mysqld.service
を使用している.Systemdはデフォルトで/etc/systemd/systemd/systemmのプロファイルを読み込みます.このディレクトリのファイルは/lib/systemd/systemm/のファイルにリンクされます.実行コマンド
ls /lib/systemd/system
には、多くの起動スクリプトが表示されます.このうち、必要なrc.local.service
があります.スクリプトの内容を開くと、次のようになります.# SPDX-License-Identifier: LGPL-2.1+
#
# 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.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
一般的な起動ファイルには3つのコンポーネントが必要です
[Unit]セグメント:起動順序と依存関係[Services]セグメント:起動動作、起動方法、起動タイプ[Install]セグメント:このプロファイルのインストール方法、つまり起動方法を定義します
上に[Install]段が少なくなったので、下のInstall段を追加します.
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
Ubuntu-18.04のデフォルトは/etc/rcではありません.localこのファイルは、自分で作成する必要があります
sudo touch /etc/rc.local
システムdはデフォルトで/etc/systemd/systemd/systemmのプロファイルを読み込むので、/etc/systemd/systemmディレクトリでソフトリンクを作成する必要があります.
sudo ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
スクリプトを起動して/etc/rcに書き込む必要があります.local、まずテストスクリプトを書いてテストします
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo echo " , " > /usr/local/text.log
exit 0
rcをあげるlocal実行可能権限
sudo chmod +x /etc/rc.local
サービスの開始とステータスの確認
sudo systemctl enable rc-local
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
再起動後にtextがあるかどうかを確認します.log生成、および書き込み内容が
this just a test
であるか