回答:
通常、再起動が通常必要な状況は2つあります。
libc
(むしろglibc
)がアップグレードされます。再起動せずにカーネルをリロードするメカニズムがあります(再起動せずにサーバーのカーネルをアップグレードするにはどうすればよいですか?)。でglibc
、最大の問題は、initにされます。initを再起動することが可能です(システムを再起動せずにinitを再起動するを参照)。
平均的なユーザーには、どちらも推奨されておらず、再起動が必要です。
どうやら、3番目のケースがあります。
dbus
アップグレードされました。dbus-daemon
どうやら再起動できないようです(このLWNの記事に関する議論から理解できることから)。そして、多くのものがDBusに依存しているため...私は実際にこれを証明する状況を今日前に持っていました。時々、変更が行われた後、システムに残ったものが残っています。たとえば/dev/dsp
、適切なグループに追加されていてもアクセスできないユーザーがいました。最初にアクセスしたユーザーによってロックがかけられました。ただし、そのユーザーを強制終了した後でも、ロックはまだ有効であり、2番目のユーザーはアクセスできませんでした。ただし、再起動後、両方のユーザーは/dev/dsp
競合することなく同時に使用できました。再起動を行うと、変更が適切に反映されなくなる可能性のある残留物が解放されます。
再起動が絶対に必要な状況は考えられません。
本当に、Ubuntuを無期限に実行したままにすることができます。(カーネルとlibcの更新が適用されないため)マルウェアを取得する可能性があり、パニックまたはクラッシュする可能性があります。
生活の複雑さを考えると、コンピューターの絶え間ない要求を無視し、他の方法で自分を維持することがより必要になるかもしれません。呼吸、食べること、愛すること、生きることのようなものです。
しかし、それでも、それらは絶対に必要ですか?この平面上でのあなたの存在は、必要性の絶対的な定義の範囲内ですか 正直わかりません。ちょっと奇妙な質問があります。
この投稿を支持した2人の大脂肪冗談ネタバレとその後の投稿者に、
この質問は不完全であるか、少なくとも無制限です。requiredのような単語を使用する場合、コンテキストを指定する必要があります。
多くの回答は、OP が(技術的な意味で)非常に望ましいことをすでに想定しているため、ハッキングを回避するために必要な、またはコンピューターがクラッシュした場合に必要なコンテキストに適合する回答を投稿しました。彼らは良い答えです。別の追加は、実際には保証されませんでした。
しかし、彼らは仮定がすべてのマックアップ(またはとにかくそのようなもの)の母であると言うので、私はそれを絶対的な必要性に戻しました。10.10の古いコピーを使用することを主張する場合、Time and Spaceは、それらの不利な点と同様に、ロールオーバーを続けます。
あなたは私がその位置を推奨していないことに気付くでしょう。
主に意見に基づいて質問は本当に閉じられるべきです。
実際には、更新された内容、システムがオープンインターネットにどのように公開されているか、実行している/必要なシステムサービスによって異なります。
パッケージの新しいバージョンをインストールするだけでは、関連するサービスやアプリケーションは再起動されません。たとえば、Firefoxの更新パッケージをインストールしているときにFirefoxを実行している場合、更新版のインストール後にブラウザに切り替えると、再起動が必要であることがブラウザ内で通知されます。同様に、更新が適用された場合、カーネル自体を「再起動」する必要があります。カーネルはハードウェアの上の最下位レベルであるため、新しいカーネルをロードするにはシステムを再起動する必要があります。他のサービスについては、再起動せずに再起動できます。Unityのアップデートまたは環境のサービスで使用される基礎ライブラリは、それらを再起動するためにログアウトしてから再度ログインする必要があります。システムサービスの場合、更新プログラムの適用後に手動で再起動することもできますが、システムを使用しようとしている場合、自動的に再起動すると非常に混乱が生じる可能性があります。
特定のアクションが必要かどうかを確実に知る唯一の方法は、変更内容と、そのアクションを実行しないことのリスクを知ることです。セキュリティの修正には、他の事柄への単純な変更よりも突然のアクションが必要であることは明らかであり、直接遭遇することはありません。コンピュータがインターネットに直接接続されるほど、リスクも高まります。すべての変数を考慮し、アップデートをインストールするときに今すぐリブートするか、後でリブートするかを決定する必要があります。
Ubuntuシステムを再起動する必要があるのはいつですか?
実行中のマシンで、更新/アップグレードを厳密に行う場合 おそらく決してありません(しかし、読んでください)。Linuxシステムは、システムを更新した後、新しい機能をアクティブにするために再起動が必要になるようにセットアップされます(つまり、カーネルの変更を読み取り、Apacheへの変更、mysqlはサービスの再起動のみを必要とします)。システムの現在の状態で常に作業を続けることができます。
これらの新機能をアクティブにしたい場合は、再起動するのが最も簡単な方法です。ただし、このマシンで作業を続け、次の週末またはその後の週末に再起動するように気を配っています。または次のクリスマス。スマートですか?そうでないかもしれない。しかし、あなたがそうすることを止める人はいません。システムは、サーバーがまだ再起動していない場合、次の更新を受け入れないほどスマートです。
私にとっては、再起動が必要な唯一の理由は、最初のインストール後、または単一ユーザーが必要なメンテナンスを行うとき(パーティション分割、ハードディスクエラーの修正など)、またはバカが有名なフォークボムを実行したときです(ただし、それは修正できますが)システム自体から)。
他のすべての再起動は、管理者の許可が必要です。そして、私はそれを「必要」と呼ぶことはできません。
まず、この質問は常に最新のものであるため、感謝しています。
他の答えは正確で非常に詳細です-それが私が不足する理由です。
新しいカーネルをインストールした後など、再起動が必要なシナリオがあります。
新しいデスクトップのインストール後など、推奨されるシナリオがあります。
ソフトウェアをインストールまたはアップグレードした後など、ほとんどのシナリオでは、再起動は必要ありません。
疑わしいときはいつでも、再起動することをお勧めします。そのため、あなたは安全な側にいます。
パッケージをインストールしますdebian-goodies
。
sudo apt-get install debian-goodies
コマンドを実行します
sudo checkrestart
サービスのリストが表示され、次の選択肢があります。
または
$ checkrestart
Found 20 processes using old versions of upgraded files
(15 distinct programs)
(14 distinct packages)
Of these, 12 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used to restart them:
gpm:
3044 /usr/sbin/gpm
rpcbind:
2208 /sbin/rpcbind
bind9:
8463 /usr/sbin/named
openssh-server:
22124 /usr/sbin/sshd
ntp:
4078 /usr/sbin/ntpd
tftpd-hpa:
3417 /usr/sbin/in.tftpd
uptimed:
2704 /usr/sbin/uptimed
cron:
3019 /usr/sbin/cron
postfix:
22145 /usr/lib/postfix/qmgr
8892 /usr/lib/postfix/master
hddtemp:
3174 /usr/sbin/hddtemp
autofs:
2792 /usr/sbin/automount
openbsd-inetd:
3254 /usr/sbin/inetd
These are the init scripts:
service gpm restart
service rpcbind restart
service bind9 restart
service ssh restart
service ntp restart
service tftpd-hpa restart
service uptimed restart
service cron restart
service postfix restart
service hddtemp restart
service autofs restart
service openbsd-inetd restart
These processes do not seem to have an associated init script to restart them:
isc-dhcp-client:
3775 /sbin/dhclient