마 젠토 CE 패치 적용


15

패치 섹션 아래 의 Magento 다운로드 페이지 당

패치를 Magento 루트 디렉토리에 업로드하고 적절한 SSH 명령을 실행하십시오. 파일 확장자가`.sh 인 패치 파일의 경우 : sh patch_file_name.sh 예 : sh PATCH_SUPEE-1868_CE_1.7.0.2_v1.sh

Magento sh는 패치 러너를 실행하기 위해 명령을 직접 호출 할 것을 권장합니다 . 의 파일 확장자도이를 .sh지원합니다.

그러나 각 패치 러너 파일의 상단 을 보면 shebang 행이을 가리 킵니다 bash.

#!/bin/bash
# Patch apllying tool template
# v0.1.2
# (c) Copyright 2013. Magento Inc.
#

내 프로그래머는 소스 파일을 신뢰하고 싶지만 프로세스는 Magento 웹 사이트에 작성된 내용을 따르고 싶어합니다. cynic은 패치가 bash와 sh의 차이점 에 대해 테스트되었는지 궁금합니다 .


패치 프로세스는 압축 된 .diff 파일처럼 간단해야합니다. 스크립트 REQUIRED_UTILS='sed patch'에서 모두 볼 .sh수 있습니다. 최신 버전의 업그레이드 문서는 스테레오 명령어와 같이 읽히므로 업그레이드가 그렇게 힘들지는 않습니다.
— B00MER

2
나는 맹목적으로 패치 chmod + x를 가져 와서 실행합니다. (먼저 내용을 확인하십시오)하지만 로컬로 실행하여 (Mac 기반 dev) 배포하기 전에 분기를 git하고 테스트 분기에 커밋 할 수 있습니다.
— Barry Carlyon

3
@ B00MER 까다 롭습니다. 나는 개인적으로 동의하지만 기술에 정통하지만 유닉스에 정통하지 않은 사람들에게는 수동으로 패치를 적용하는 것이 너무 한 단계처럼 보입니다. 패치 설치 관리자의 동기를 이해할 수 있습니다.
— Alan Storm

다시 생각 해봐 예를 들어 shebang lins는 #! / bin / php 일 수 있으며 sh는 "충분히"실행하여 shebang 행을 읽고 스크립트를 shebang의 프로그램에 전달합니다. 수동으로 적용 할 때는 패치에 Git Diff가 포함되어 있으므로 "쉽게"적용 할 수 있습니다. 그러나 Magento에 패치와 함께 변경된 파일 만있는 zip을 제공하도록 요청하는 주장이 있습니까 (Core 편집을 제외하고는 괜찮습니다)?
— Barry Carlyon

하나 더. .txt 이외의 파일 확장자를 사용하면 로컬 사용자 파일 시스템에 대해 확장자가없는 파일이 떠 다니는 것을 피하기 위해 덜 익숙한 사람에게 더 논리적입니다. 나는 bash와 sh가 어쨌든 상호 교환 가능하다고 느낀다.
— Barry Carlyon

답변:


8

실제로 bash를 사용해야합니다. 패치의 14 행에서 명시 적으로 지적한 코드는 다음과 같습니다.

if (( $? != 0 )); then

$((A는 유효한 연산 식 XCU 쉬에서,하지만 ((아니다.)

그러나 많은 유닉스 계열 플랫폼에서는 /bin/sh단지 심볼릭 링크 /bin/bash입니다. 이름으로 호출하면 shbash는 POSIXly-unstrict 동작 중 일부 를 비활성화 하지만 전부는 아닙니다. 이 패치는 sh로 호출 된 bash에서 잘 작동 할 것입니다.


이 경우에는 스크립트가 sh에서 실행되지 않고 sh가 명시된 shebang 라인 프로그램으로 덤프됩니까?
— Barry Carlyon

실제로 커널은 shebang을 해석 할 책임이 있습니다. 당신이 경우 chmod +x script && ./script커널은 첫 번째 또는 두 번째 인수로 스크립트 파일이있는 오두막 줄에 명령을 실행하려고합니다. 상황에 따라 해당 프로세스 트리에 쉘이 포함되어 있다고 보장 할 수 없습니다. 를 실행하면 sh인수로 스크립트를하지만, 오두막 라인은 무시됩니다.
— kojiro

따라서 패치 지침을 잘못 따르고 있음을 의미합니다. 그들이 스크립트를 말하지만 난 그냥 ./script 어떻게 재미있는
— 배리 Carlyon

-2

나중에 누군가를 도울 수 있도록 Phpstorm을 사용하여 패치를 적용했으며 패치 도구가 훌륭합니다. 문제없이 패치를 적용하는 데 30 초도 걸리지 않았으며 파일의 차이점을 확인하고 통과 할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.