반응형

포인트

  • 그냥 watch 사용시에는 어디가 바꼈는지 매번 눈으로 확인해야 하는데, 이것을 diff 명령어로 틀린 부분만 표시할 수 있음.
  • 색을 표시하는 부분은 색코드를 직접 이용할 수 있지만 watch 명령어와 사용시 색이 표시 되지 않고 색 코드가 그대로 노출되는 되기 때문에 일반적으로 output에 색코드를 직접 기입하는 대신에 tput을 이용하면 색을 표시할 수 있음

샘플 코드

#!/bin/bash

# temp file
LAST_OUTPUT="/tmp/last_df_output.txt"
NEW_OUTPUT="/tmp/new_df_output.txt"

# color supporting check
if [ -t 1 ]; then
    RED=$(tput setaf 1)
    RESET=$(tput sgr0)
else
    RED=""
    RESET=""
fi

# initial output 
df -h > "$LAST_OUTPUT"

while true; do
    # new output
    df -h > "$NEW_OUTPUT"

    if ! cmp -s "$NEW_OUTPUT" "$LAST_OUTPUT"; then
        clear
        # diff will be printed in red color
        diff --unchanged-line-format="%L" --old-line-format="" --new-line-format="${RED}%L${RESET}" "$LAST_OUTPUT" "$NEW_OUTPUT"
    fi

    # last output store
    mv "$NEW_OUTPUT" "$LAST_OUTPUT"

    # time interval
    sleep 1
done
반응형
반응형

llama-stack

llama3.2, llama3.1 등을 download 하려고 홈페이지에서 시도하였으나 llama-stack을 pip로 설치하라고 뜬다.
pip install llama-stack을 하였으나 설치에는 큰 문제가 없는 것 같은데 llama 명령어가 없어서 진행이 안된다.

원인

llama-stack github page에 찾아가보면 requirement.txt에 보면 llama-models 등 dependency packages가 보이는데 pip list로 확인을해봐도 설치가 되지 않았고, search를 해봐도 되지 않는다.
원인은 python3 버전에 원인이 있다. python version이 3.10이상이어야 하는데 python3.8로 시도하면 minimum python version 에 위배되는 패키지들은 설치가 되지 않는다.

해결방법

python3.10을 설치해서 python3.10을 설치하여 3.10으로 llama-stack을 설치해줄 경우 정상적으로 초반과는 다르게 많은 패키지들이 설치되고 llama명령어가 있는것이 확인된다.

참고

https://sonseungha.tistory.com/678

 

Ubuntu 20.04에 python 3.10 설치하기

Python 3.10은 Ubuntu의 기본 저장소에서 사용할 수 없습니다. 따라서 Python 3.10 설치를 위해 다른 저장소를 추가해야 합니다. deadsnake라는 이름의 launchpad 저장소에서는 Python 패키지에 사용할 수 있습

sonseungha.tistory.com

python3.10으로 재설치

$ apt install software-properties-common # 필요시
$ apt install python3.10-distutils
$ curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
$ python3.10 -m pip install llama-stack
반응형
반응형

Env

Install nvidia docker env toolkit

Run

$ docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Execute

$ docker exec -it ollama ollama run llama3.1:8b

help

>>> /?

Exit

>>> /bye
or
ctrl + d

llama3.1 taglist

https://ollama.com/library/llama3.1/tags

 

Tags · llama3.1

Llama 3.1 is a new state-of-the-art model from Meta available in 8B, 70B and 405B parameter sizes.

ollama.com

 

반응형
반응형

Bash 스크립트에서 매번 if [ $? -ne 0 ];을 써서 명령어의 실행 결과를 확인하는 건 번거롭고 코드가 지저분해 보일 수 있다. 이를 깔끔하게 처리할 수 있는 몇 가지 방법을 소개한다.

  1. set -e 사용
    스크립트에 set -e를 추가하면, 명령어가 실패할 때(exit code가 0이 아닐 때) 자동으로 스크립트 실행이 중지된다. 이렇게 하면 매번 $?를 체크할 필요가 없어진다.
#!/bin/bash
set -e

# 명령어 실행 (실패하면 스크립트가 중지됨)

command\_1  
command\_2

echo "이 메시지는 위 명령어들이 성공한 경우에만 출력됨"  

set -e는 스크립트 실행을 중단해야 할 때 유용하지만, 모든 경우에 적합하지 않을 수 있다. 실패해도 계속 실행해야 하는 상황이라면 다른 방법을 고려하는 게 좋다.

  1. 함수로 처리
    자주 사용하는 에러 확인을 함수로 만들어 놓으면 매번 $?를 확인하는 중복을 줄일 수 있다.
#!/bin/bash

check\_command() {  
"$@"  
if \[ $? -ne 0 \]; then  
echo "Error: '$\*' 명령어가 실패했습니다." >&2  
exit 1  
fi  
}

check\_command ls /path/to/dir  
check\_command another\_command  

check_command 함수는 전달받은 명령어를 실행하고, 실패하면 에러 메시지를 출력한 뒤 스크립트를 종료하는 방식이다.

  1. 명령어 체인 (&&와 || 사용)
    명령어가 성공하거나 실패할 때 각각 다른 동작을 하고 싶다면 &&와 ||를 사용하는 것도 깔끔하다.
command && echo "성공" || echo "실패"  
&&는 명령어가 성공했을 때 실행되고, ||는 명령어가 실패했을 때 실행된다. 단순한 에러 처리를 할 때 유용하다.
  1. 트랩(Trap) 사용
    스크립트 전체에서 에러가 발생할 경우에 대한 공통 처리가 필요하다면 trap을 사용할 수 있다. 특정 상황이나 에러 발생 시 자동으로 호출되는 함수를 정의할 수 있다.
#!/bin/bash

trap 'echo "Error occurred at line $LINENO"; exit 1' ERR

# 명령어 실행

command\_1  
command\_2  

이 코드는 ERR 신호가 발생할 때, 즉 명령어가 실패하면 해당 트랩이 실행돼 에러 메시지를 출력하고 스크립트를 종료한다.

반응형
반응형

프라하 국립 극장(Národní divadlo)

프라하와 비엔나를 비교를 많이 하는데, 사실 양쪽에서 모두 본 입장에서 예술쪽에 조예가 깊지 않은 이상 비엔나에서 예술 공연을 보는 가격이 부담이 된다면, 프라하에서 보는 것을 추천한다. 필자는 발레 공연을 보았는데, 단순히 조그만데서 발레 비슷한걸 보여주고 끝나는 그런 공연이 아닌 국립극장에서 제대로된 공연을 보았다.
국립 극장도 19세기 후반에 지어진 극장으로 체코의 민족주의의 상징이라고 불린다고 한다.

예약 방법

예약은 아래의 사이트에서 예약이 가능하며, 외에도 오페라 등등 예약이 가능하다.
예약 방법은 검색해보면 많이 나온다.


https://www.narodni-divadlo.cz/en

 

National Theatre in Prague

The National Theatre is the representative stage of the Czech Republic. It is one of the symbols of national identity and part of the European cultural space.

www.narodni-divadlo.cz

 

복장

기본적으로 발레를 볼 때에 드레스 코드가 있는 것 같다. 대부분 여자분은 드레스 등을 입고 있었고, 남자 성인은 수트를 많이 입고 있었다.
필자는 코스상 복장을 따로 준비를 못해서, 반바지, 반팔, 스냅백을 쓰고 당당히 입장했다. 딱히 쫒아내거나 눈치를 주지 않고 일관되게 친절했다.
다만 다 그러고 있어서 약간 눈치가 보이지만 그렇다고 뭐라하는 사람은 없었다.

공연

프라하나 비엔나 모두 공연에는 카메라 촬영 등이 엄격히 금지되어 있다. 서양은 공연에 대한 에티켓이 잘 지켜지는지 핸드폰 한번 울리는 일 없이 모두 핸드폰을 끄는 것 같았다. 물론 찍지 말라는데 카메라로 사진을 찍는 사람도 한둘은 보였지만, 절대 하지 않는 것을 추천한다.

쉬는 시간

쉬는 시간마다 나와서 간단한 와인 등 주류 혹은 음료를 마시고 흡연 등을 하면서 시끌 벅적하게 얘기를 한다.
공연에 대한 얘기인지는 잘 모르겠지만, 상당히 인상적이었다.

추천 사항

국립극장 맞은 편에 카페가 있는데, "카페 슬라비아" 라는 카페로, 또한 100년이 넘는 역사를 자랑한다고 한다.
서빙해주시는 분들도 상당히 격식이 있었고, 공연을 기다리는 사람들이 주로 많이 이용하는 것 같았다.
드레스를 입어야 할 수도 있다는 것을 알고는 갔지만 여행객이 많은데 다 입겠어? 하고 갔다가 국립극장 들어가기 전부터 모두 드레스를 입은 상태로 카페를 이용하는 것을 보고 아차 싶긴했다.

마지막으로

체코에 갔으면 오페라와 발레 등은 보고 오는 것을 강력히 추천한다.
가격도 그렇게 부담스럽지 않고, 진짜 예술가들의 퍼포먼스를 역사가 깊은곳에서 보는 비용으로 상당히 저렴하게 볼 수 있다.

https://g.co/kgs/eDkNbiq

 

국립극장 · Národní 2, 110 00 Nové Město, 체코

4.8 ★ · 공연예술 극장

www.google.com

 

아래에  좌석 관련 이전 포스트 첨부한다.

https://onestepcloser.tistory.com/248

 

[체코 국립극장] 프라하 국립극장에서 발레 볼때 좌석별 정보

비엔나에서 발레를 보려니 가격이 만만치 않다.포기를 하던차에 지인이 프라하 국립극장에서 보면 가격도 부담없고, 퀄리티도 좋다 그래서 보니 정말 메리트 있어서 예약을 하려고 보니 좌석이

onestepcloser.tistory.com

 

반응형

+ Recent posts