【我的Android进阶之旅】解决Jenkins编译出现的错误:java.io.tmpdir is set to a directory that doesn't exist: /tmp

一、问题一描述

今天,有个同事编译出现了问题,找我帮忙解决,错误如下所示:
在这里插入图片描述

[Gradle] - Launching build.
[Z1_AW_Launcher] $ /opt/gradle/gradle-4.3/bin/gradle clean buildInfo -s -i build -s jenkinsInfo -s -i
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Initialized native services in: /root/.gradle/native
Removing 0 daemon stop events from registry
Starting a Gradle Daemon (subsequent builds will be faster)
An attempt to start the daemon took 0.015 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Could not start Gradle daemon.

* Try:
Run with --debug option to get more log output.

* Exception is:
org.gradle.api.GradleException: Could not start Gradle daemon.
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startProcess(DefaultDaemonStarter.java:156)
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startDaemon(DefaultDaemonStarter.java:135)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.doStartDaemon(DefaultDaemonConnector.java:210)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.startDaemon(DefaultDaemonConnector.java:204)
	at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:128)
	at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:138)
	at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:92)
	at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
	at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:280)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:253)
	at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:33)
	at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:246)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:182)
	at org.gradle.launcher.Main.doAction(Main.java:33)
	at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
	at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: java.lang.RuntimeException: java.io.IOException: java.io.tmpdir is set to a directory that doesn't exist: /tmp
	at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.initializeCaseSensitive(GenericFileSystem.java:112)
	at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.isCaseSensitive(GenericFileSystem.java:48)
	at org.gradle.api.internal.file.FileNormaliser.normalise(FileNormaliser.java:73)
	at org.gradle.api.internal.file.AbstractFileResolver.resolve(AbstractFileResolver.java:88)
	at org.gradle.api.internal.file.AbstractFileResolver.resolve(AbstractFileResolver.java:68)
	at org.gradle.api.internal.file.AbstractFileResolver$2.create(AbstractFileResolver.java:99)
	at org.gradle.api.internal.file.AbstractFileResolver$2.create(AbstractFileResolver.java:97)
	at org.gradle.process.internal.DefaultProcessForkOptions.getWorkingDir(DefaultProcessForkOptions.java:57)
	at org.gradle.process.internal.AbstractExecHandleBuilder.build(AbstractExecHandleBuilder.java:124)
	at org.gradle.launcher.daemon.DaemonExecHandleBuilder.build(DaemonExecHandleBuilder.java:38)
	at org.gradle.launcher.daemon.client.DefaultDaemonStarter.startProcess(DefaultDaemonStarter.java:145)
	... 25 more
Caused by: java.io.IOException: java.io.tmpdir is set to a directory that doesn't exist: /tmp
	at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.checkJavaIoTmpDirExists(GenericFileSystem.java:149)
	at org.gradle.internal.nativeintegration.filesystem.services.GenericFileSystem.initializeCaseSensitive(GenericFileSystem.java:108)
	... 35 more

二、解决问题一

2.1 java.io.tmpdir的含义

java.io.tmpdir是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样

  • Windows: java.io.tmpdir:[C:\Users\登录用户~1\AppData\Local\Temp]

  • Solaris: java.io.tmpdir:[/var/tmp/]

  • Linux: java.io.tmpdir: [/tmp]

  • Mac OS X: java.io.tmpdir: [/tmp]

The default temporary-file directory is specified by the system property java.io.tmpdir.
On UNIX systems the default value of this property is typically “/tmp” or “/var/tmp”;
on Microsoft Windows systems it is typically “c:\temp”.
A different value may be given to this system property when the Java virtual machine is invoked, but programmatic changes to this property are not guaranteed to have any effect upon the the temporary directory used by this method.

To specify the java.io.tmpdir System property, you can invoke the JVM as follows:

java -Djava.io.tmpdir=/path/to/tmpdir

By default this value should come from the TMP environment variable on Windows systems.

2.2 System.getProperty()可操作参数

System.getProperty()可操作参数还有:

扫描二维码关注公众号,回复: 9348224 查看本文章
参数 含义
java.version Java运行时环境版本
java.vendor Java运行时环境供应商
java.vendor.url Java供应商的 URL
java.home Java安装目录
java.vm.specification.version Java虚拟机规范版本
java.vm.specification.vendor Java虚拟机规范供应商
java.vm.specification.name Java虚拟机规范名称
java.vm.version Java虚拟机实现版本
java.vm.vendor Java虚拟机实现供应商
java.vm.name Java虚拟机实现名称
java.specification.version Java运行时环境规范版本
java.specification.vendor Java运行时环境规范供应商
java.specification.name Java运行时环境规范名称
java.class.version Java类格式版本号
java.class.path Java类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录

2.3 解决问题

SSH 连接到这台编译服务器,cd到/根目录,然后查看有没有 tmp目录。发现果然没有tmp目录,如下所示
在这里插入图片描述

root@ubuntusrv6:~# cd /
root@ubuntusrv6:/# ll
total 120
drwxr-xr-x  29 root root  4096  5月 29 08:16 ./
drwxr-xr-x  29 root root  4096  5月 29 08:16 ../
drwxr-xr-x   2 root root  4096  6月  5  2014 bin/
drwxr-xr-x   4 root root  4096  5月 30  2014 boot/
drwx------   4 root root  4096 11月 25  2017 data/
drwxr-xr-x   6 root root  4096  9月 29  2018 data1/
drwxr-xr-x   5 root root  4096  9月 29  2018 data2/
drwxr-xr-x  14 root root  4320  3月 22 10:11 dev/
drwxr-xr-x 116 root root  4096  3月 22 10:09 etc/
drwxr-xr-x   4 root root  4096  5月 10  2018 home/
lrwxrwxrwx   1 root root    33  5月 30  2014 initrd.img -> /boot/initrd.img-3.2.0-29-generic
drwxr-xr-x  21 root root  4096  5月  9  2017 lib/
drwxr-xr-x   2 root root 12288  1月 23  2017 lib32/
drwxr-xr-x   2 root root  4096  1月 23  2017 lib64/
drwx------   2 root root 16384  5月 30  2014 lost+found/
drwxr-xr-x   3 root root  4096  5月 30  2014 media/
drwxr-xr-x   2 root root  4096  8月  4  2012 mnt/
drwxr-xr-x   6 root root  4096  7月  9  2018 opt/
dr-xr-xr-x 255 root root     0  3月 22 10:11 proc/
drwxr-xr-x   3 root root  4096  5月 10  2018 project/
drwx------  26 root root  4096  5月 27 16:15 root/
drwxr-xr-x  18 root root   700  5月 29 08:29 run/
drwxr-xr-x   2 root root  4096  5月  9  2017 sbin/
drwxr-xr-x   2 root root  4096  3月  6  2012 selinux/
drwxr-xr-x   3 root root  4096  5月 10  2018 srv/
drwxr-xr-x  13 root root     0  3月 22 10:11 sys/
drwxr-xr-x   3 root root  4096  5月 30  2014 user/
drwxr-xr-x  14 root root  4096  6月  5  2014 usr/
drwxr-xr-x  13 root root  4096  3月 22 10:09 var/
lrwxrwxrwx   1 root root    29  5月 30  2014 vmlinuz -> boot/vmlinuz-3.2.0-29-generic
drwxr-xr-x   2 root root  4096  8月 25  2017 zabbix/
root@ubuntusrv6:/# pwd
/

既然发现没有tmp目录,从而导致编译失败的,那么我吗创建一个 tmp目录即可。如下所示:

在这里插入图片描述

root@ubuntusrv6:/# pwd
/
root@ubuntusrv6:/# mkdir tmp
root@ubuntusrv6:/# ll
total 124
drwxr-xr-x  30 root root  4096  5月 29 08:34 ./
drwxr-xr-x  30 root root  4096  5月 29 08:34 ../
drwxr-xr-x   2 root root  4096  6月  5  2014 bin/
drwxr-xr-x   4 root root  4096  5月 30  2014 boot/
drwx------   4 root root  4096 11月 25  2017 data/
drwxr-xr-x   6 root root  4096  9月 29  2018 data1/
drwxr-xr-x   5 root root  4096  9月 29  2018 data2/
drwxr-xr-x  14 root root  4320  3月 22 10:11 dev/
drwxr-xr-x 116 root root  4096  3月 22 10:09 etc/
drwxr-xr-x   4 root root  4096  5月 10  2018 home/
lrwxrwxrwx   1 root root    33  5月 30  2014 initrd.img -> /boot/initrd.img-3.2.0-29-generic
drwxr-xr-x  21 root root  4096  5月  9  2017 lib/
drwxr-xr-x   2 root root 12288  1月 23  2017 lib32/
drwxr-xr-x   2 root root  4096  1月 23  2017 lib64/
drwx------   2 root root 16384  5月 30  2014 lost+found/
drwxr-xr-x   3 root root  4096  5月 30  2014 media/
drwxr-xr-x   2 root root  4096  8月  4  2012 mnt/
drwxr-xr-x   6 root root  4096  7月  9  2018 opt/
dr-xr-xr-x 231 root root     0  3月 22 10:11 proc/
drwxr-xr-x   3 root root  4096  5月 10  2018 project/
drwx------  26 root root  4096  5月 27 16:15 root/
drwxr-xr-x  18 root root   700  5月 29 08:29 run/
drwxr-xr-x   2 root root  4096  5月  9  2017 sbin/
drwxr-xr-x   2 root root  4096  3月  6  2012 selinux/
drwxr-xr-x   3 root root  4096  5月 10  2018 srv/
drwxr-xr-x  13 root root     0  3月 22 10:11 sys/
drwxr-xr-x   3 root root  4096  5月 29 08:35 tmp/
drwxr-xr-x   3 root root  4096  5月 30  2014 user/
drwxr-xr-x  14 root root  4096  6月  5  2014 usr/
drwxr-xr-x  13 root root  4096  3月 22 10:09 var/
lrwxrwxrwx   1 root root    29  5月 30  2014 vmlinuz -> boot/vmlinuz-3.2.0-29-generic
drwxr-xr-x   2 root root  4096  8月 25  2017 zabbix/

三、问题二描述

上面的tmp目录创建之后,可以进行编译了,然后发现出现了新的问题:编译服务器没有剩余磁盘了,如下所示
在这里插入图片描述

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':recentcall:debugRuntimeClasspath'.
> java.io.IOException: No space left on device

* Try:
Run with --debug option to get more log output.

* Exception is:
org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':recentcall:debugRuntimeClasspath'.
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.wrapException(ErrorHandlingConfigurationResolver.java:96)
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph(ErrorHandlingConfigurationResolver.java:68)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$4.run(DefaultConfiguration.java:462)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired(DefaultConfiguration.java:454)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(DefaultConfiguration.java:438)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1600(DefaultConfiguration.java:113)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getSelectedArtifacts(DefaultConfiguration.java:874)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:862)
	at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:68)
	at org.gradle.api.internal.changedetection.state.AbstractFileCollectionSnapshotter$FileCollectionVisitorImpl.visitCollection(AbstractFileCollectionSnapshotter.java:70)
	at org.gradle.api.internal.file.AbstractFileCollection.visitRootElements(AbstractFileCollection.java:234)
	at org.gradle.api.internal.file.CompositeFileCollection.visitRootElements(CompositeFileCollection.java:185)
	at org.gradle.api.internal.changedetection.state.AbstractFileCollectionSnapshotter.snapshot(AbstractFileCollectionSnapshotter.java:53)
	at org.gradle.api.internal.changedetection.state.DefaultGenericFileCollectionSnapshotter.snapshot(DefaultGenericFileCollectionSnapshotter.java:38)
	at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.snapshotTaskFiles(CacheBackedTaskHistoryRepository.java:331)
	at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.createExecution(CacheBackedTaskHistoryRepository.java:154)
	at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.access$100(CacheBackedTaskHistoryRepository.java:61)
	at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository$1.getCurrentExecution(CacheBackedTaskHistoryRepository.java:114)
	at org.gradle.api.internal.changedetection.changes.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.getStates(DefaultTaskArtifactStateRepository.java:201)
	at org.gradle.api.internal.changedetection.changes.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.isUpToDate(DefaultTaskArtifactStateRepository.java:86)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:53)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: com.esotericsoftware.kryo.KryoException: java.io.IOException: No space left on device
	at com.esotericsoftware.kryo.io.Output.flush(Output.java:156)
	at org.gradle.internal.serialize.kryo.KryoBackedEncoder.flush(KryoBackedEncoder.java:85)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore.done(DefaultBinaryStore.java:75)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.oldresult.TransientConfigurationResultsBuilder.done(TransientConfigurationResultsBuilder.java:94)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.oldresult.DefaultResolvedConfigurationBuilder.done(DefaultResolvedConfigurationBuilder.java:43)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.oldresult.ResolvedConfigurationDependencyGraphVisitor.finishArtifacts(ResolvedConfigurationDependencyGraphVisitor.java:67)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.CompositeDependencyArtifactsVisitor.finishArtifacts(CompositeDependencyArtifactsVisitor.java:64)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ResolvedArtifactsGraphVisitor.finish(ResolvedArtifactsGraphVisitor.java:80)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.CompositeDependencyGraphVisitor.finish(CompositeDependencyGraphVisitor.java:60)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.assembleResult(DependencyGraphBuilder.java:357)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:104)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve(DefaultArtifactDependencyResolver.java:84)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph(DefaultConfigurationResolver.java:138)
	at org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph(ShortCircuitEmptyConfigurationResolver.java:73)
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph(ErrorHandlingConfigurationResolver.java:66)
	... 49 more
Caused by: java.io.IOException: No space left on device
	at com.esotericsoftware.kryo.io.Output.flush(Output.java:154)
	... 63 more


* Get more help at https://help.gradle.org

BUILD FAILED in 41s

四、解决问题二

4.1 查看编译服务器磁盘空间情况

查看编译服务器磁盘空间情况如下所示,/根目录已经被耗尽了磁盘。
在这里插入图片描述

root@ubuntusrv6:/# df -h 
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        93G   93G     0 100% /
udev             16G  4.0K   16G   1% /dev
tmpfs           6.3G  5.7M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   44K   16G   1% /run/shm
/dev/sda1       9.3G  292M  8.6G   4% /boot
/dev/sda5       158G  2.5G  148G   2% /user
/dev/sdb1       1.4T  617G  710G  47% /data1
/dev/sdb5       1.4T  1.2T  172G  88% /data2
cgroup_root      16G     0   16G   0% /sys/fs/cgroup
root@ubuntusrv6:/# 

4.2 删除一些没用的文件

删除了一些在/根目录下没有用的文件,删除掉。
在这里插入图片描述
删除掉部分没有用的文件,清理出了2G的剩余空间。
在这里插入图片描述

root@ubuntusrv6:/# df -h 
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        93G   91G     0 100% /
udev             16G  4.0K   16G   1% /dev
tmpfs           6.3G  5.7M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   44K   16G   1% /run/shm
/dev/sda1       9.3G  292M  8.6G   4% /boot
/dev/sda5       158G  2.5G  148G   2% /user
/dev/sdb1       1.4T  620G  707G  47% /data1
/dev/sdb5       1.4T  1.2T  172G  88% /data2
cgroup_root      16G     0   16G   0% /sys/fs/cgroup
root@ubuntusrv6:/# 

然后去编译,就成功编译了!

在这里插入图片描述


作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:https://blog.csdn.net/qq446282412/article/details/90664623
☞ 本人QQ: 3024665621
☞ QQ交流群: 123133153
☞ github.com/ouyangpeng
[email protected]


发布了469 篇原创文章 · 获赞 1467 · 访问量 359万+

猜你喜欢

转载自blog.csdn.net/qq446282412/article/details/90664623