より多くの空き容量を確保するためにAmazon Linuxオペレーティングシステムを縮小する方法は?

より多くの空き容量を確保するためにAmazon Linuxオペレーティングシステムを縮小する方法は?

私は使うEC2Amazon Webサービスから。 t2.microインスタンスのオペレーティングシステムはカスタマイズされています。AmazonLinux”には1GiB RAMと1つのvCPUがあります。Cloud9 IDEデフォルトでは、利用可能なファイルスペースの73%(/dev/xvda1から7.8G)が使用され、残りの2.2Gしか使用できないことがわかりました。

私の要求:

  • Pythonスクリプトを実行し、出力データをローカルに作成する必要があります。
  • 私はコマンドラインで作業しているので、GUIなしで行うことができます。

空き容量を確保するために、オペレーティングシステムのどのコンポーネントを安全に削除できますか?

ベストアンサー1

1. 不要なパッケージの削除

Amazon Linux インスタンスは yum パッケージマネージャを使用してソフトウェアを管理します。 yumパッケージマネージャはソフトウェアをインストール、削除、更新するだけでなく、各パッケージのすべての依存関係を管理することもできます。 –Linuxインスタンスでのソフトウェア管理

次のコマンドを実行して、システムで最大20個のパッケージのリストを作成しました。

rpm -qa --queryformat '%10{size} - %-25{name} \t %{version}\n' | sort -nr | head -n 20

すべての依存関係を持つパッケージを削除するには、yumプラグインをインストールしてから、必要ではないと思われるremove-with-leaves最大のパッケージ(依存関係を含む)を繰り返し削除しました(以下のリスト)。

sudo yum remove package_name --remove-leaves

2. 古いカーネルの削除

  1. 現在のカーネルを識別します。uname -mrs
  2. すべてのコアを一覧表示します。rpm -q kernel
  3. 古いLinuxカーネルを手動で削除します。sudo yum remove kernel-4.9.76-3.78.amzn1.x86_64

3. 未使用パッケージの削除

識別されたパッケージは他の項目に影響を与えずに削除することができます(Debianではこれらのパッケージを「孤立したパッケージ」と呼びます)、自動的に削除できます。

sudo package-cleanup --quiet --leaves | sudo xargs -l1 yum -y remove 

発見する

Python 3.6.5のみを積極的に使用していますが、デフォルト値python(Python 2.7.14)を削除することはできません。

多くのLinuxディストリビューションにはPythonが必要です。展開プロバイダが展開する多くのシステムユーティリティ(GUIベースまたは非GUIベース)はPythonでプログラムされています。システムユーティリティで使用されるPythonのバージョンを「デフォルト」Pythonと呼びます。 [...]システムユーティリティはPythonで書かれているので、システムを破壊せずにデフォルトのPythonを削除することは不可能です。 –Pythonをエレガントに削除する方法は?

パッケージが占める総スペースはpython27115819035バイト(〜116MB)です。

結果

  • 全体的に約0.5GB(ディスク容量の7%)が回復しました/dev/xvda1
  • 214個のパッケージが削除され、合計633427867バイトです。
    java-1.7.0-openjdk emacs-common mysql55-server java-1.7.0-openjdk-devel git 
    mysql55 vim-common perl compat-libicu4 aws-apitools-ec2 emacs v8 ruby20-libs 
    perl-Encode nodejs-devel aws-apitools-elb aws-apitools-as nodejs 
    aws-apitools-mon perl-DBD-SQLite dejavu-sans-fonts subversion subversion-libs 
    subversion-perl python36-devel dejavu-serif-fonts vim-enhanced libtool autoconf 
    perl-DBI rubygem20-rdoc automake libX11-common perl-libs gyp cvs libX11 git-svn 
    alsa-lib gnutls dejavu-sans-mono-fonts perl-Net-SSLeay npm libyaml-devel 
    xorg-x11-fonts-Type1 perl-IO-Compress rsync libxcb libpng perl-Test-Harness 
    rubygems20 perl-Pod-Simple fontconfig aws-amitools-ec2 lcms2 perl-DBD-MySQL55 
    git-cvs xorg-x11-font-utils libXfont perl-podlators perl-IO-Socket-SSL git-p4 
    v8-devel perl-YAML perl-Storable rubygem20-json perl-Git-SVN perl-PathTools 
    nodejs-hawk perl-Pod-Perldoc ruby20-irb perl-File-Temp libuv-devel libserf 
    system-rpm-config autogen-libopts perl-Getopt-Long perl-Compress-Raw-Zlib 
    perl-Filter perl-GSSAPI dejavu-fonts-common libuv perl-Net-Daemon libICE cvsps 
    perl-Socket rubygem20-psych perl-Digest-SHA git-email perl-Authen-SASL ttmkfdir 
    perl-HTTP-Tiny perl-Data-Dumper nodejs-ctype perl-threads emacs-git 
    perl-Time-HiRes perl-IO-Socket-IP libXext giflib rubygem20-bigdecimal libSM 
    nodejs-async perl-threads-shared perl-PlRPC nodejs-hoek node-gyp libXi perl-Git 
    nodejs-request nodejs-fstream perl-Scalar-List-Utils ruby20 nodejs-mime 
    perl-Exporter perl-TermReadKey perl-Compress-Raw-Bzip2 nodejs-tar 
    perl-Digest-MD5 perl-File-Path perl-Error http-parser perl-Net-LibIDN 
    perl-Pod-Usage perl-Time-Local libfontenc libXrender libXau 
    nodejs-npm-registry-client nodejs-minimatch nodejs-boom nodejs-http-signature 
    nodejs-semver libXcomposite nodejs-glob nodejs-nopt perl-Digest perl-Carp 
    libXtst perl-Thread-Queue nodejs-npmconf libffi-devel perl-constant gpm-libs 
    perl-Pod-Escapes nodejs-normalize-package-data nodejs-packaging 
    nodejs-read-package-json nodejs-promzard nodejs-lockfile nodejs-asn1 
    nodejs-ansi perl-Text-ParseWords copy-jdk-configs nodejs-form-data nodejs-sntp 
    nodejs-fstream-npm nodejs-node-uuid nodejs-config-chain perl-Digest-HMAC 
    nodejs-retry nodejs-graceful-fs nodejs-sigmund nodejs-npmlog http-parser-devel 
    nodejs-read-installed nodejs-lru-cache nodejs-init-package-json nodejs-qs 
    nodejs-slide nodejs-combined-stream nodejs-assert-plus nodejs-fstream-ignore 
    nodejs-block-stream perl-parent nodejs-delayed-stream nodejs-ini nodejs-sha 
    nodejs-cmd-shim nodejs-tunnel-agent nodejs-mute-stream nodejs-rimraf 
    nodejs-read nodejs-osenv nodejs-mkdirp perl-macros nodejs-which nodejs-abbrev 
    perl-Net-SMTP-SSL nodejs-archy nodejs-uid-number nodejs-aws-sign 
    nodejs-forever-agent nodejs-opener nodejs-json-stringify-safe nodejs-proto-list 
    nodejs-cryptiles nodejs-editor nodejs-child-process-close 
    nodejs-github-url-from-git nodejs-cookie-jar nodejs-npm-user-validate 
    nodejs-chmodr nodejs-chownr nodejs-once nodejs-inherits nodejs-oauth-sign 
    aws-apitools-common mysql-config vim-filesystem ruby git-all 
    fontpackages-filesystem 
    

リソース

  1. Amazon Linux AMI
  2. GAD3Rの答え到着CentOS 7からパッケージを削除するときにインストールされているすべての依存パッケージを削除する方法は?
  3. CentOS Linuxで使用されていない古いカーネルを削除する方法
  4. Jetos Carsonの答え到着未使用パッケージの削除
  5. オーウェンフレイザーグリーンの回答到着Fedoraから孤児パッケージを削除する方法は?

おすすめ記事