'tar'에 해당되는 글 2건

  1. 2022.07.20 [Elastic] Checksum 활용 하기.
  2. 2015.09.22 [Maven] Executable jar + Assembly 를 이용한 tar 묶기.

[Elastic] Checksum 활용 하기.

Elastic 2022. 7. 20. 18:06

아마 사용하고 계시는 분들이 있을지 모르겠지만 간혹 Elastic Stack tarball 다운로드 받고 나서 파일이 깨지는 현상을 경험 하실 수 있는데요.

 

이럴 경우 다운로드 받은 tarball 이 유효 한지 확인 하는 방법을 소개 하려고 합니다. (이미 다 아실 만한 내용입니다.)

Elasticsearch 기준으로 설명 하겠습니다.

 

다운로드 페이지)

https://www.elastic.co/kr/downloads/elasticsearch

 

여기서 tar.gz 과 tar.gz.sha512 두 개의 파일을 다운로드 받습니다.

이제 checksum 검증을 하시면 됩니다. (아래는 mac 기준입니다.)

$ cat elasticsearch-8.3.2-darwin-x86_64.tar.gz.sha512
a8661896ba48365b6339d809c16f6c01a271ed76bbba4be10de08ade382ae6740968f9eb1f22ec1c30
fcca6aaf33d645530c3afb528ac20f3b638445c646d768  elasticsearch-8.3.2-darwin-x86_64.tar.gz

$ shasum -a 512 elasticsearch-8.3.2-darwin-x86_64.tar.gz
a8661896ba48365b6339d809c16f6c01a271ed76bbba4be10de08ade382ae6740968f9eb1f22ec1c30
fcca6aaf33d645530c3afb528ac20f3b638445c646d768  elasticsearch-8.3.2-darwin-x86_64.tar.gz

보시는 것 처럼 hash code 값이 같다면 다운로드 받은 tarball 이 유효 하다는 의미 입니다.

이와 같이 Elastic Stack 의 tarball 에 대한 검증 이후 사용 하시면 간혹 segment fault 오류에 대한 해결책이 될 수 있습니다.

 

:

[Maven] Executable jar + Assembly 를 이용한 tar 묶기.

ITWeb/개발일반 2015. 9. 22. 12:29

main 함수 만들고 executable jar로 만들기 위해서 일반적인 패키징 작업중 하나 입니다.

그냥 또 기억 못할까봐 정리해 봅니다.

기본적인 내용이 자세한 내용과 활용은 아래 링크 참고하세요.


Ref.

https://maven.apache.org/plugins-archives/maven-assembly-plugin-2.5.4/

https://maven.apache.org/plugins/maven-assembly-plugin/assembly-mojo.html


[pom.xml 에 maven assembly plugin 추가 하기]

    <plugins>

...

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-jar-plugin</artifactId>

        <version>2.4</version>

        <configuration>

          <archive>

            <index>false</index>

            <manifest>

              <addClasspath>true</addClasspath>

              <mainClass>${MAINCLASS}</mainClass>

            </manifest>

          </archive>

        </configuration>

      </plugin>

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-assembly-plugin</artifactId>

        <version>2.4</version>

        <configuration>

          <descriptors>

            <descriptor>src/main/assemblies/package.xml</descriptor>

          </descriptors>

          <finalName>${project.name}</finalName>

          <appendAssemblyId>false</appendAssemblyId>

        </configuration>

        <executions>

          <execution>

            <id>tarball</id>

            <phase>package</phase>

            <goals>

              <goal>single</goal>

            </goals>

          </execution>

        </executions>

      </plugin>

...

    </plugins>


[assembly 생성하기]

- src/main/assemblies/package.xml

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.

1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

  <id>tarball</id>

  <formats>

    <format>tar</format>

  </formats>

  <fileSets>

    <fileSet>

      <directory>${project.basedir}</directory>

      <outputDirectory>/</outputDirectory>

      <includes>

        <include>bin/*.sh</include>

        <include>lib/sigar/*.so</include>

        <include>lib/sigar/*.dylib</include>

        <include>lib/sigar/*.dll</include>

        <include>lib/sigar/*.lib</include>

      </includes>

    </fileSet>

  </fileSets>

</assembly>


참 쉽죠!!

이렇게 만들어서 생성을 하게 되면 최종 tarball 은 아래와 같은 형태로 만들어 집니다.


${project.name}.tar

- 여기서 <finalName>과 <appendAssemblyId> 설정에 따라 finalName으로 이름이 적용 되게 됩니다.

: