Linuxを新しくインストールした後に復元できるように、Linuxにインストールされているソフトウェア/システム構成を追跡する方法は?

Linuxを新しくインストールした後に復元できるように、Linuxにインストールされているソフトウェア/システム構成を追跡する方法は?

私は私がインストールしたすべてのソフトウェアと設定を追跡するためにLinuxのユーティリティの種類を書くことを考えています。新しくインストールしたら、それを実行してUbuntuのコピーを新しくインストールする前の状態に復元できます。

正確にどこから始めるべきかわかりません。からユーザーがインストールしたソフトウェアのリストを入手できることを知っていますdpkg -i | grep ii

答え1

Debianとその子孫には、単純なパッケージ(依存関係のみを含む)を作成するためのツールがあります。仕事にぴったりです。

名前はequivs-build(名前がどこから来たのかわかりません)です。 1つを作成すると.debインストールできます。gdebi

ここにmakefileがあります。 (必要に応じて手動で行うこともできます。makeファイルは10%の利便性のみを追加しますが、プロセスを文書化します。)

#create source
%.equivs-control: src/%.equivs-control
        @echo %linking "$@" from "$<"
        ln -s -t . "$<"

#make deb
%.deb: %.equivs-control
        @echo %making "$@" from "$<"
        equivs-build "$<"

#install one
.PHONY: %.install
%.install: %.deb
        @echo %installing "$<"
        sudo gdebi "$<"

ただし、まずいくつかのツールをインストールする必要があります。

#!/bin/bash
ln -fs -T ../equivs src
ln -fs -t . src/makefile

#install what we need
sudo apt-get install equivs gdebi-core make

構成ファイルsrc/my-packages_1.0_all.equivs-control

Section: local
Priority: optional
#Homepage: https:
Standards-Version: 3.9.2
Package: my-packages
Version: 1.0
Maintainer: ctrl-alt-delor@local>

Depends: python3-pystache, equivs, make, gdebi-core, intel-microcode, firmware-linux, multiarch-support, cpufrequtils, openssh-server, stow, etckeeper, ntp, bomstrip, nodejs, dos2unix, faketime, wget, nocache, schedtool, cpulimit, smem, inotify-tools, keepassx, mawk, mmv, yakuake, xdotool, acl, gparted, gufw, htop, sshfs, bindfs, k4dirstat, openssh-client, vim, rsync, emacs, vim, avahi-discover, yaml-mode, markdown, pandoc, dc, xinput, iotop, strace, curl, screen, kdesdk-dolphin-plugins, cvs, easygit, git, git-flow, git-gui, gitg, tig, kdesvn, subversion, hgview, mercurial-common, tortoisehg-nautilus, python-dulwich, task-british-desktop, task-british-kde-desktop, task-desktop, task-english, task-kde-desktop, task-laptop, redshift-plasmoid, gtk2-engines-oxygen, kde-config-gtk-style, kde-config-gtk-style-preview, libreoffice-style-oxygen, appmenu-qt, vlc, konversation, encfs, diffpdf, diffuse, dirdiff, kdiff3, meld, tor, idle3, ipython3-qtconsole, backintime-kde, couchapp, augeas-lenses, augeas-tools, augeas-doc, python3-augeas, sass-elisp, ruby-sass, eclipse-jdt, eclipse-mercurialeclipse, python3-requests, filepp, texlive-latex-base, texlive-latex-extra, tth, golang-mode, zenmap, wireshark

# Readme: <README.Debian file; defaults to a generic one>
Description: All of the stuff I want installed.
 This is managed by my install script system.

使用するには: - シェルスクリプトを実行します(これによりインストールシステムが起動します) - 実行make my-packages_1.0_all.install

ファイル名を混乱させる場合は注意してください。一部はからインポートされ、Package: line一部はツールに組み込まれています。


より多くのことができ、見てみる価値がある他の構成管理ツールがあります。

関連情報