我用EC2在亚马逊网络服务上。 t2.micro实例的操作系统是定制的“亚马逊Linux” 具有 1 GiB 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.删除过时的内核
- 识别当前内核:
uname -mrs
- 列出所有内核:
rpm -q kernel
- 手动删除过时的 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。 –如何优雅地 yum 删除 Python?
包占用的空间python27
总计 115819035 字节 (~116 MB)。
结果
- 总共回收了约 0.5 GB(磁盘空间的 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