나는 사용한다EC2아마존 웹 서비스에서. t2.micro 인스턴스의 운영 체제는 사용자 정의됩니다."아마존리눅스”에는 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. 오래된 커널 제거
- 현재 커널을 식별합니다.
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을 제거하는 것은 불가능합니다. –Python을 우아하게 삭제하는 방법은 무엇입니까?
패키지가 차지하는 총 공간 은 python27
115819035바이트(~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