루트가 아닌 경우 사용 권한 오류 지우기
6267 단어 fpm-cookery
묘사
는 다음과 같습니다.-bash-4.1$ fpm-cook
===> Starting package creation for teamcity-server-8.0.5 (centos, rpm)
===>
===> Verifying build_depends and depends with Puppet
===> Verifying package: jdk
===> All build_depends and depends packages installed
===> Fetching source:
===> Using cached file /opt/teamcity-agent/work/fpm-recipes/teamcity-server/cache/TeamCity-8.0.5.tar.gz
===> Building in /opt/teamcity-agent/work/fpm-recipes/teamcity-server/tmp-build/TeamCity
===> Installing into /opt/teamcity-agent/work/fpm-recipes/teamcity-server/tmp-dest
===> [FPM] Converting dir to rpm {}
WARNING: [FPM] no value for epoch is set, defaulting to nil {}
===> [FPM] Reading template {"path":"/usr/lib/ruby/gems/1.8/gems/fpm-0.4.42/templates/rpm.erb"}
WARNING: [FPM] no value for epoch is set, defaulting to nil {}
/usr/lib/ruby/1.8/fileutils.rb:1178:in `open': Permission denied - /tmp/package-dir-staging20131208-28170-1jkcjhp/var/lib/teamcity-server (Errno::EACCES)
from /usr/lib/ruby/1.8/fileutils.rb:1178:in `entries'
from /usr/lib/ruby/1.8/fileutils.rb:1178:in `entries'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:1341:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `each'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:1341:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `each'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:1341:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `each'
from /usr/lib/ruby/1.8/fileutils.rb:1340:in `postorder_traverse'
from /usr/lib/ruby/1.8/fileutils.rb:760:in `remove_entry'
from /usr/lib/ruby/1.8/fileutils.rb:613:in `rm_r'
from /usr/lib/ruby/1.8/fileutils.rb:609:in `each'
from /usr/lib/ruby/1.8/fileutils.rb:609:in `rm_r'
from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.42/lib/fpm/package.rb:274:in `cleanup_staging'
from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.42/lib/fpm/package.rb:267:in `cleanup'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/package/package.rb:69:in `cleanup'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:171:in `build_package'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:146:in `chdir'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:146:in `build_package'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/packager.rb:133:in `dispense'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:104:in `exec'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:68:in `execute'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/book.rb:16:in `call'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/book.rb:16:in `load_recipe'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/lib/fpm/cookery/cli.rb:64:in `execute'
from /usr/lib/ruby/gems/1.8/gems/clamp-0.6.3/lib/clamp/command.rb:67:in `run'
from /usr/lib/ruby/gems/1.8/gems/clamp-0.6.3/lib/clamp/subcommand/execution.rb:11:in `execute'
from /usr/lib/ruby/gems/1.8/gems/clamp-0.6.3/lib/clamp/command.rb:67:in `run'
from /usr/lib/ruby/gems/1.8/gems/clamp-0.6.3/lib/clamp/command.rb:125:in `run'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.16.2/bin/fpm-cook:7
from /usr/bin/fpm-cook:19:in `load'
from /usr/bin/fpm-cook:19
토론 #1
레시피 출처:https://github.com/haf/fpm-recipes토론 #2
이전에 루트로 생성되었지만 디렉터리를 정리하지 않았을 가능성이 있습니까?토론 #셋
아니요, 저는 그곳에서 모든 것을 제거하여 검증 문제의 일부분으로 삼았습니다.토론 #4
네,감사합니다.이거 복제해 볼게요.만약 네가 필요로 하는 것이 있다면 나에게 말해라.토론 #5
나는 이 문제를 재현할 수 있다.다음은 당신의 식단과 다른 점으로 이 문제를 해결했습니다.--- teamcity-server/recipe.rb
+++ teamcity-server/recipe.rb
@@ -28,11 +28,11 @@ class TeamcityServer < FPM::Cookery::Recipe
# InitV script
etc('init.d').install workdir('teamcity-server')
- chmod 755, etc('init.d/teamcity-server')
+ chmod 0755, etc('init.d/teamcity-server')
# data directory
(var/'lib/teamcity-server').mkdir
- chmod 755, (var/'lib/teamcity-server')
+ chmod 0755, (var/'lib/teamcity-server')
# installation directory
opt('teamcity-server/conf').mkdir
토론 #6
방법의 첫 번째 매개 변수(모드)는 8진수여야 한다.FileUtils.chmod 참조$ fpm-cook --no-deps
===> Starting package creation for teamcity-server-8.0.5 (ubuntu, deb)
===>
===> Fetching source:
===> Using cached file /tmp/fpm-recipes/teamcity-server/cache/TeamCity-8.0.5.tar.gz
===> Building in /tmp/fpm-recipes/teamcity-server/tmp-build/TeamCity
===> Installing into /tmp/fpm-recipes/teamcity-server/tmp-dest
===> [FPM] Converting dir to deb {}
===> Removing existing package file: teamcity-server_8.0.5-2_amd64.deb
===> [FPM] No deb_installed_size set, calculating now. {}
===> [FPM] Reading template {"path":"/home/bernd/.rvm/gems/ruby-1.9.3-p545/gems/fpm-1.0.2/templates/deb.erb"}
===> [FPM] Creating {"path":"/tmp/package-deb-build20140303-9280-1i8z8pg/control.tar.gz","from":"/tmp/package-deb-build20140303-9280-1i8z8pg/control"}
===> [FPM] Created deb package {"path":"teamcity-server_8.0.5-2_amd64.deb"}
===> Created package: /tmp/fpm-recipes/teamcity-server/pkg/teamcity-server_8.0.5-2_amd64.deb
오래 걸려서 미안해요...chmod
와, gj@me가 그에게 소수를 주었다:).나는 심지어 루비에 8진법의 접두사가 있는지도 모른다.쿨하다시간을 들여 이 일을 추적해 주셔서 감사합니다!
Reference
이 문제에 관하여(루트가 아닌 경우 사용 권한 오류 지우기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/bernd/fpm-cookery/issues/60텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)