What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
1

洪 民憙 (Hong Minhee) shared the below article:

간단한 rpmbuild의 사용과 private rpm package 배포

Perlmint @perlmint@hackers.pub

마지못해 패키지를 만들어야 할 것 같은 사람을 위한 설명입니다. 제대로된 패키지를 만들고 싶은 경우에는 부족한 점이 많습니다.

대부분의 경우에는 프로그램을 직접 소스에서 빌드하는 일도 적고, 그걸 시스템 전역에 설치하는 일도 흔치는 않을 것입니다. 좋은 패키지매니저와 관리가 잘되는 패키지 저장소들을 두고 아주 가끔은 직접 빌드를 할 일이 생기고, 흔치 않게 시스템 전역에 설치할 일이 생길 수 있습니다. 어지간한 프로그램들은 요즈음의 장비에서는 별 불만 없이 빌드 할 만한 시간이 소요되나, 컴파일러처럼 한번 빌드했으면 다시는 하고 싶지 않은 프로그램을 다시 설치해야하는 경우도 있을 수 있습니다. 하필 이런 프로그램들은 결과물도 덩치가 매우 큽니다. 이럴 때는 최대한 간단하고 필요한 항목만 패키지에 넣어서 만들어두고 다시 활용하면 좋을 것이기에 이런 경우를 위한 rpmbuild에 대한 나름 최소한의 사용 방법을 정리해봅니다.

rpmbuild

rpmbuild는 rpm-build 패키지로 설치가 가능하며, 나름 단순하게 rpm으로 패키징을 할 수 있는 유틸리티입니다. spec파일에 패키지 정보, 빌드 명령, 설치 명령, 패키지가 포함해야 할 파일 목록을 작성해서 rpmbuild에 입력으로 넣어주면 빌드부터 시작해서 rpm패키지를 만들어줍니다. native 프로그램의 경우 디버그 심볼을 알아서 분리해서 별도의 패키지로 만들어주고, 필요한 의존성도 추정해서 명시해줍니다. 또한, 필요한 경우 하나의 spec 명세로 연관된 서브 패키지도(ex. 실행파일 패키지인 curl과 라이브러리 패키지 libcurl, 라이브러리를 사용하기 위한 개발 패키지 libcurl-devel) 같이 만들 수 있습니다.

작업 환경

rpmbuild는 기본으로 ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}의 경로에서 동작하며 각 경로의 용도는 다음과 같습니다.

  • SOURCES에는 압축된 소스코드가 위치합니다.
  • SPECS에는 패키지 정의인 spec파일을 둡니다.
  • BUILD밑에서 빌드 작업이 진행됩니다.
  • RPMS에 바이너리 rpm결과물이 생성됩니다.
  • SRPMS에는 소스 rpm결과물이 생성됩니다.
  • BUILDROOT는 패키징 하기 위해 빌드 결과물을 모으는 경로입니다.

spec파일

spec파일은 패키지를 어떻게 빌드하고 어떤 항목들이 패키지에 포함될지, 패키지의 이름, 설명 및 의존성 등의 메타데이터, 패키지 설치, 삭제시의 스크립트를 정의할 수 있습니다. 보통 시작 부분에는 메타데이터 정의로 시작하며, 다음과 같은 기본적인 형태를 취합니다. 나름 단순하게 만든 python을 위한 spec을 예시로 들어보겠습니다.

Summary: Python %{version}
Name: python-alternative
Version: %{version}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.python.org
Requires: libffi openssl
AutoReq: no
License: PSFL

Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tgz

BuildRequires: libffi-devel openssl-devel
BuiltRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

%define major_version %(echo "%{version}" | sed -E 's/^([0-9]+)\\..+/\1/' | tr -d)
%define minor_version %(echo "%{version}" | sed -E 's/^[0-9]+\\.([0-9]+)\\..+/\1/' | tr -d)

%description
Python

%package devel
Summary: python development files
Requires: %{name} = %{version}-%{release}

%description devel
Python development package

%prep
%setup -q -n Python-%{version}

%build
./configure --prefix=%{_prefix}

%install
%{__make} altinstall DESTDIR=%{buildroot}
%{__ln_s} -f %{_bindir}/python%{major_version}.%{minor_version} %{buildroot}/%{_bindir}/python%{major_version}

%clean
%{__rm} -rf %{buildroot}

%files
%{_bindir}/python*
%exclude %{_bindir}/idle*
%{_bindir}/pip*
%{_bindir}/pydoc*
%exclude %{_bindir}/2to3*
%{_libdir}/libpython*
%{_prefix}/lib/libpython*
%{_prefix}/lib/python*
%{_mandir}/man1/python*

%files devel
%{_includedir}/python*
%{_prefix}/lib/pkgconfig/python*

%로 매크로를 사용할 수 있으며, %package, %description, %files 같은 매크로는 인자를 주어서 서브 패키지를 정의하는데도 쓸 수 있습니다. 앞선 예제처럼 devel 이라고작성하면 메인 패키지이름 뒤에 붙여서 python-alternative-devel가 되며, curl - libcurl과 같은 경우에는 메인의 이름은 curl이고, 딸린 패키지를 정의할 때는 %package -n libcurl과 같이 -n옵션을 추가해서 지정할 수 있습니다. 몇몇 매크로는 단계를 정의하는 것과 같은 동작을 하며 다음과 같습니다.

%package

유사성을 보면 spec파일의 맨 첫부분은 메인 패키지의 %package에 해당하는 것이 아닌가 싶습니다. <Key>: <Value>의 형태로 메타정보를 작성합니다. 대부분은 Key를 보면 무슨 값인지 추측 할 만합니다. 나중에 설명할 %files에서 나열한 파일을 rpmbuild가 분석하여 자동으로 패키지가 필요로 하는 의존성을 추정해서 추가 해 줍니다. python 스크립트, perl 스크립트, native 실행파일 등을 분석해서 알아서 추가해주는 것 같은데, 경우에 따라서는 틀린 의존성을 추가해주기도 합니다. 이 때는 AutoReq: no를 설정하여 자동 의존성 추가를 막을 수 있습니다. 이 python-alternative 패키지는 /usr/local/bin/python%{version}을 설치하는데 아마도 같이 포함되는 python 스크립트에 의해서 /bin/python을 의존성으로 추정하여 요구합니다. 패키지 스스로가 제공하는 의존성은 미리 설치 되어있기를 요구하지 않게 동작하는 것 같으니 보통은 문제가 없습니다만, 이 경우에는 스스로 제공을 하지 않기 때문에 python을 설치하기 위해서 python이 필요한 경우가 발생하므로 AutoReq를 껐습니다.

%prep

준비단계로 소스코드의 압축을 해제하고 필요한경우 패치를 적용합니다. %setup 매크로를 이 안에서 보통 사용하며, %setupSource에 명시된 파일명의 압축 파일을 SOURCES 밑에서 찾아서 압축을 풉니다. 그리고 동일한 이름의 디렉토리로 이동을 합니다. 앞선 예제에서는 SOURCES/Python-%{version}.tgz의 압축을 풀고 Python-%{version}으로 이동을 합니다. 패치가 필요한 경우 보통 이 뒤에 패치를 적용하는 명령들을 추가 합니다.

%build

설정, 컴파일 등을 수행하는 단계입니다. 이곳에서 자주 하는 매크로로 %configure, %make_build 등이 있습니다. %configure는 configure를 prefix 및 기타 몇가지 일반적으로 쓰이는 옵션을 추가하여 실행해주며, %make_buildmake와 비슷하게 모든 타겟을 빌드 합니다. 예제에서는 둘다 안쓰고 있고, 심지어 실제 빌드는 안하는데 어쨌든 이후의 %install까지 지나고나서 빌드 결과물만 맞는 위치에 만들어지면 대충 패키지를 만드는데는 별 문제는 없는 것 같습니다.

%install

여기서 빌드 결과물을 설치하는 명령을 작성합니다. 일반적으로 %make_install을 사용하여 make install DESTDIR=%{buildroot}와 비슷한 명령을 수행하여 %{buildroot}밑에 빌드 결과물이 prefix를 유지하여 설치되게 합니다. 예제의 %{__ln_s} -f %{_bindir}/python%{major_version}.%{minor_version} %{buildroot}/%{_bindir}/python%{major_version}을 보면 추정 할 수 있듯이, 패키지에 포함시킬 파일들을 %{buildroot}밑에 생성을 하면 되며, 추가적인 심볼릭 링크는 패키지를 빌드하는 시점에는 존재하지 않지만, 패키지를 설치하게되면 존재하게 될 %{_bindir}/python%{major_version}.%{minor_version}를 향하는 것을 %{buildroot} 밑인 %{buildroot}/%{_bindir}/python%{major_version}에 만듭니다.

%files

패키지에 포함될 파일 목록을 작성합니다. glob 양식으로 파일 목록을 작성할 수 있습니다. %{buildroot} 밑에 생성 되었지만 어느 %files에도 포함되지 않은 파일이 있는 경우에는 빌드를 실패합니다. 그러므로 %exclude를 사용해서 명시적으로 제외해줘야 합니다.

기타 매크로

rpmbuild에서는 기본으로 다양한 매크로를 제공하고 있습니다. --define "_libdir %{_prefix}/lib64"와 같은 옵션을 실행시에 주어서 실행시점에 매크로를 덮어 쓸 수도 있고, 앞선 spec파일 내의 %define major_version 와 같이 다른 매크로와 셸 명령을 활용하여 매크로를 정의 할 수도 있습니다. 원하는 동작을 안하는 것 같은 경우에는 --show-rc옵션을 사용하여 매크로가 어떻게 정의되어있는지 확인해 볼 수 있습니다.

빌드

rpmbuild의 매뉴얼을 보면 자세하게 나와있지만 가장 단순하게는 rpmbuild -bb <specfile>로 바이너리 패키지를 빌드할 수 있습다. 이 때, 압축된 소스코드는 미리 SOURCES밑에 두어야 합니다.

private rpm package 배포

직접 비공개 패키지 저장소 프로그램을 실행하여 제공하는 방법도 있겠지만, 최대한 간단하게 할 수 있는 방법으로, rpm관련 패키지 설치 명령이 입력으로 http등의 URL도 받는 것을 활용하여 적당한 장비에서 http로 서빙을 해주면 됩니다.

Read more →
4
1

수확한 전호는 깨끗이 씻어 그대로 쌈으로 드셔도, 밥과 함께 먹어도 참 잘 어울려요. 샐러드로는 참기름과 허브솔트를 뿌리면 풍미를 더 살릴 수 있답니다. 혹은 가볍게 데쳐서 초고추장에 무쳐도 좋답니다! ​ 전호와 함께 맛있고 건강한 봄 보내세요🌿

0
0
0
0
0

Unbound 1.23.0 is now available. Our resolver now features ‘fast reload’, allowing it to read the new config in a thread, and when done only briefly pauses the server to update the settings. This version also contains redis replica support, DNS Error Reporting, and several bug fixes. nlnetlabs.nl/news/2025/Apr/24/

0

전호는 이른 봄에 싹을 틔워 부지런히 잎을 생산하다 5~6월 꽃을 피우고 한여름 종자를 숙성시킵니다. 그리고 시든 후에 가을이 오면 다시 싹이 올라와 잎을 생산하는데요. 봄 한철에만 즐길 수 있는 대부분의 산채들과 달리 봄과 가을에 두 번 맛볼 수 있는 특별한 산채입니다🍽️

0
0

예전에 이명박때쯤인가 MOU라는 말이 일상에 들어오기 시작하더니 MOU가 한 때 유행처럼... 번지던... 뭔가 대단한 것처럼

블럭체인이란 용어도 여기저기 퍼지더니, 이젠 AI도 일단 여기저기 가져다 붙이는... 자체가 나쁘다는 게 아니라, 걍 아무데다 막 가져다 붙여서 쓰는 거 아닌가 싶은 의심이 들 때가 많다는 거;;;;

이게 마치 노암 촘스키, Noam Chomsky,의 Univeral Grammar나 Chunk, Generative Grammar등의 이론/개념 체계를 중학교 초등학교 가르치는 어학원들에서 어떻게 기존 학원들과 차별 적용해서 가르치는 건지... 앞뒤 설명은 없고 다짜고짜 청크..., 하도 청크 청크해서 학원 블로근 들어가보면 이미 영어를 좀 하는 사람이면 어느정도 의미단위로 체험적으로 가르치고 배우고 했던거에 그냥 말만 청크라고 붙인 거...

굳이?

또, 좀 있으니 corpus란 말이 유행을 하더니, 심리언어학, 언어심리학이 나왔다가 이젠 막 인지언어학이 어쩌고 그러던데... 막상 학원장이나 교사의 전공을 보거나하면... 그리고 인지언어학은 대학원 석/박사과정에서 그쪽으로 전공을 정하고 공부를 좀 제대로 해야 맛이나 볼... 여튼... 유행하는 용어만 싹 가져 와가지고 일종의 상술로만 써먹고 알맹이는 하나도 없는...

심지어 뉴로링귀스틱스 neurolinguistics를 언급하는 곳도 봤음. 영어학원이 말은 첨단이여 첨단.

너무 여러분야에서 봐서;;;;

오늘의 헛소리는 여기서 워워~

;-)

0
0

참고로 전호의 잎 추출물은 관절 건강에 도움을 줄 수 있는 건강기능식품원료로 인정받기도 했습니다. 국립산림과학원의 연구 결과, 전호의 잎, 줄기, 꽃대, 뿌리 등 다양한 부위에서 항염, 항암 효과가 있다고 알려진 6가지 지표성분이 확인되었답니다🌿

0

전호는 남부 지역 섬과 내륙 깊은 산, 강기슭, 들판 등 습한 곳에서 무리 지어 자라는 미나리과의 여러해살이풀입니다. ​뿌리는 ‘아삼(蛾參)’이라는 한약재로 알려져 있는데 소화불량, 식욕부진 등의 처방에 사용된다고 합니다. 식물 이름 ‘전호’와 한약재 이름 ‘전호(前胡)’는 전혀 다르답니다!

0

아직은 널리 알려져 있지 않아 생소한 산채인 '전호'를 가장 먼저 소개하는 이유는 포근한 봄에 싹이 올라오는 다른 친구들과 달리 추운 2월부터 자라기 시작하는 꽤나 부지런한 산채이기 때문입니다🌿 덕분에 야생의 고라니 친구들에게 좋은 먹이가 되고 있죠~

0

【5月の のイベントのお知らせ】
・第8回 Fediverse Linux Users Group もくもく会
隔月で開催しているもくもく会です!5月はOSC名古屋でのLT大会もあります!のんびり進捗をみなさんで作りませんか?
日時:2025/05/13(火) 19:30〜
会場:オンライン
参加リンク:
https://fedilug.connpass.com/event/353606/

・第2回 FediLUG manコマンド 輪読会
毎月開催のmanコマンド(コマンドマニュアル)輪読会です!普段打っているコマンドのマニュアル、改めて読んでみませんか?
日時:2025/05/27(火) 19:30〜
会場:オンライン
参加リンク:
https://fedilug.connpass.com/event/353607/

・FediLUG・東海道らぐのLT大会OSC名古屋出張版
OSC名古屋(
)のセミナー枠を借りて、東海道らぐさんと合同でLT大会を行います!オフライン・オンライン参加を受け付けています!
日時:2025/05/31(土) 15:15〜
会場:中小企業進行会館
参加リンク:
https://fedilug.connpass.com/event/352996/

0
0
0

예전에 이명박때쯤인가 MOU라는 말이 일상에 들어오기 시작하더니 MOU가 한 때 유행처럼... 번지던... 뭔가 대단한 것처럼

블럭체인이란 용어도 여기저기 퍼지더니, 이젠 AI도 일단 여기저기 가져다 붙이는... 자체가 나쁘다는 게 아니라, 걍 아무데다 막 가져다 붙여서 쓰는 거 아닌가 싶은 의심이 들 때가 많다는 거;;;;

이게 마치 노암 촘스키, Noam Chomsky,의 Univeral Grammar나 Chunk, Generative Grammar등의 이론/개념 체계를 중학교 초등학교 가르치는 어학원들에서 어떻게 기존 학원들과 차별 적용해서 가르치는 건지... 앞뒤 설명은 없고 다짜고짜 청크..., 하도 청크 청크해서 학원 블로근 들어가보면 이미 영어를 좀 하는 사람이면 어느정도 의미단위로 체험적으로 가르치고 배우고 했던거에 그냥 말만 청크라고 붙인 거...

굳이?

또, 좀 있으니 corpus란 말이 유행을 하더니, 심리언어학, 언어심리학이 나왔다가 이젠 막 인지언어학이 어쩌고 그러던데... 막상 학원장이나 교사의 전공을 보거나하면... 그리고 인지언어학은 대학원 석/박사과정에서 그쪽으로 전공을 정하고 공부를 좀 제대로 해야 맛이나 볼... 여튼... 유행하는 용어만 싹 가져 와가지고 일종의 상술로만 써먹고 알맹이는 하나도 없는...

심지어 뉴로링귀스틱스 neurolinguistics를 언급하는 곳도 봤음. 영어학원이 말은 첨단이여 첨단.

너무 여러분야에서 봐서;;;;

오늘의 헛소리는 여기서 워워~

;-)

0
0
0
0
0
0
1

Well, we've finally went live.

A lot of things are still due to be done for it to be a proper launch but everything that is there seems to be working as expected.

This is just a hobby side project of me and one other person that we've been working on in our spare time lately.

I'm just glad to see it working well in production and excited for the road ahead.

mstdn.plus/@SnipperLink/114392

0
0
0
0
0
0
0
0

今年學校健診新增脊椎項目的這個圖示好傳神喔。小孩平常看來沒什麼問題,可是一彎下腰,背的左右高度不對稱,肩胛骨的位置感覺也左右有差全部無所遁形。😢

0

[台灣環境資訊中心]《不可思議的森之島》台灣原生樹木當主角 科普繪本好玩又美麗 e-info.org.tw/node/241174

《不可思議的森之島》台灣原生樹木當主角 科普繪本好玩又美麗

時值世界地球日(4月22日),各國倡議「提升地球力」(Our Power, Our Planet)之際,農業部林業及自然保育署藉由出版繪本,再度展現台灣森林的多元樣貌與生態實力,引領讀者來一趟原生樹木探索之旅。 《不可思議的森之島》內頁預覽。攝影:廖靜蕙 林保署與拾蒔生活工作室共同策劃製作,首度以「原生樹木」為主題出版植物科普繪本《不可思議的森之島》,從「樹的自然脈絡」、「樹的生態秘密」、「樹的生活感知」三大主軸切入,介紹原生樹木的自然特性、生態功能與人文應用。內容涵蓋地質、氣候、物候、動植物互動、林業產物與民俗智慧。 一本繪本 建構台灣原生植物知識 台灣獨特的地理位置及島內涵蓋從熱帶到寒帶的多樣氣候,孕育出超過4000種原生植物,豐富的原生樹木資源演化出獨特的自然寶庫,堪稱綠色方舟。 從一棵樹到變成一座森林,植物很不簡單。《不可思議的森之島》一書以植物、樹木為主題,發展22個議題,內容包羅萬象,談古說今,兼容時間和空間尺度。期待讀者藉由閱讀,辨識個別的台灣原生植物,了解森林生態的脈絡,並進而理解森林生態系在食衣住行等面向,提供眾多不可取代的服務功能。 雖為繪本型態,卻有知識密度極高的內容,適合全齡層閱讀,並有針對不同年齡層,建議發展不同的閱讀策略。即使不識字的小孩子,也可藉由親子共讀或老師導讀,先從圖片開始,提出有趣的問題——誰是台灣的(植物)千歲爺?誰是台灣的冠軍樹?一棵樹不同的高度、從樹冠層到底層,又住著哪些動物? 植物看似渺小,卻能彼此串聯成巨大的力量,供應人類日常所需。除了有趣的問題,每個主題也獨具魅力。原來果子的旅途如此充滿精算,大樹不但提供住宿,也像人類的便利超商,提供了24小時食堂;最厲害的是,森林不但讓野生物能依附,也能呼召職人親近。透過一篇又一篇的主題,逐步建構對台灣原生植物的理解。 《不可思議的森之島》由林業保育署與拾蒔生活工作室共同策劃製作,是第一本以台灣原生樹種為主題的植物科普繪本。攝影:廖靜蕙 森林故事多 充滿惠與益 作者之一賴粹涵,本身即具備植物、森林專業知識,現專心從事自然生態、環境教育。她曾任自然科學博物館解說教育員,期間觀察到民眾對植物和動物相關展覽的反應,有些人遇到植物展覽往往很快走過去,認為植物太安靜了、無聊、不好親近,反而喜歡恐龍這類根據化石想像出形象和習性、不曾看過的物種。如今透過這本書,他想告訴讀者,植物很有趣,和我們的生活連結很深。 書中有一個很重要的概念,無論是一棵樹或一片森林,都該讓它在對的地方適地適生,而非勉強它在不適合的環境;即使是都市中的行道樹,也不該將它限縮在都市一方小小的水泥區塊內,這些看似獨立的行道樹,對生態也有一定的貢獻。 「我們雖然沒有付它錢,它卻為我們做了許多有益的事情。例如調節溫度,交換新鮮空氣,提供遮蔭等。這些對環境無形的貢獻,都值得我們好好對待它。」賴粹涵說。 畫出原生植物野地氣質 認出樹有如遇見好友 本書的畫作出自插畫家李伊甯之筆。她為了能在繪本中傳遞台灣原生植物的正確知識,走遍全國森林,也因此認識更多植物、關注到它們的特徵。這項計畫之前,她算是植物辨識的素人,現在,遠遠看到某棵樹,就能知道它是誰。 「台灣植物的多樣性太多太豐富,花果葉各自不同,葉緣有些微差異,可能就是不同的植物。」過去走步道、爬山時就特別喜歡觀察植物;繪製這本書過程,原生植物帶給她莫大的驚喜,「原來台灣原生植物這麼美!」 因為許多樹種長太高,看不到細節,或季節不對,無法同時看到開花又結果,李伊甯繪製過程看了大量的植物特寫照,進而迷上了原生植物,理解到台灣植物其實既秀雅又內斂,精密的構造很美,「野地氣質又秀雅」,種種形容有如說的是熟識的朋友。 繪製一種原生植物,也許能當成是興趣;但是繪製數百種植物,就得接受挑戰。李伊甯說,植物變化多,野外植株與人為栽培的景觀植株就有差異,這時審查委員扮演重要的角色。「老師(審查委員)會提醒我,我選擇了的是植物特殊的樣子或是常態版。這很依賴老師的經驗,因為他們看過很多野外植物的臉譜,老師的回饋顯得重要。」 植物細膩之處,例如花蕊的數量、分布,同一株植物可能就遇到變化的葉形、非典型的果,雄蕊和雌蕊也各自不同;種種細節探究都讓她投入非常多心思;有審查委員把關,更形成學習互動的關係。 長時間大量觀察植物特寫,使她養成遠遠看到一棵樹,就產生共鳴——我可能認識它,它可能是我畫過的樹。和原生植物相認,開車時也有點不專心了。「那種親切感很不可思議,讓我意識到我們都同在一塊土地上。」 拾蒔生活工作室李伊甯設計師,分享製作歷程與對台灣植物多樣性的觀察。圖片來源:林保署 提供 不須眾裡尋它千百度 玉山圓柏千年陪伴 為了繪製這些原生植物,李伊甯走訪眾多台灣森林,國家森林遊客區、福山植物園、合歡山,從海濱植物園區看紅樹林,中海拔、高海拔的森林都走過一遍。她說,親臨現場最能感受森林的樣貌,其中,她最渴慕能一親雪山一帶的玉山圓柏純林。 「玉山圓柏是台灣屋脊樹種,那片純林是好幾千年的原始林,見證台灣社會與環境的變遷,也面臨很多挑戰,讓我感到有個長者守護著我們。」古老的巨樹們就在那裡,讓她感受到力量。不過在拜訪這片純林之前,她得先練好腿力——書中也有玉山圓柏,無法親訪的讀者,可先透過閱讀繪本感受它的魅力。 這本繪本的故事深深地感動了李伊甯,她希望將這份感動傳遞出去。「當這本繪本遇到讀者,它就會化身為一顆種子,傳遞森林生態的知識,並因此與森林產生連結;將它分享出去,結出更多種子,期許讓森林生態的情感成為一個人的修為。」 林保署表示,本書將贈送至全台各地圖書館作為教育推廣用書,鼓勵親子共讀,成為推動認識島嶼植物的最佳輔助教材。讀者也能於國家書店與五南文化廣場選購,透過翻閱繪本走進台灣森林的世界,一同發現這座「綠色方舟」蘊藏的奇蹟與驚喜。 《不可思議的森之島》新書發表會。攝影:廖靜蕙

e-info.org.tw · 環境資訊中心

0

孩子看見我的塊狀水彩,表現出濃厚興趣。
但使用水筆不像拿普通水彩筆那麼直觀,它有一定的使用步驟需要學習,且專家級水彩不便宜,經不起像使用廉價兒童水彩那般豪邁的挖XD
「使用水筆有點麻煩喔!妳確定要試嗎?」
「要!我想要試!」
「好,如果妳願意耐心、仔細學,我就教妳」
「好,我一定會耐心的!」
我一步驟一步驟的教、說明原理。因有言在先,原本急躁的孩子也還算認真,一改往常非常阿莎力的上色風格,小心翼翼的操作著,顯現出我完全沒見過的一面。
沒想到水筆有這樣的魔法,哈哈!

0
0

孩子看見我的塊狀水彩,表現出濃厚興趣。
但使用水筆不像拿普通水彩筆那麼直觀,它有一定的使用步驟需要學習,且專家級水彩不便宜,經不起像使用廉價兒童水彩那般豪邁的挖XD
「使用水筆有點麻煩喔!妳確定要試嗎?」
「要!我想要試!」
「好,如果妳願意耐心、仔細學,我就教妳」
「好,我一定會耐心的!」
我一步驟一步驟的教、說明原理。因有言在先,原本急躁的孩子也還算認真,一改往常非常阿莎力的上色風格,小心翼翼的操作著,顯現出我完全沒見過的一面。
沒想到水筆有這樣的魔法,哈哈!

0
1
0
0

[台灣環境資訊中心]《不可思議的森之島》台灣原生樹木當主角 科普繪本好玩又美麗 e-info.org.tw/node/241174

《不可思議的森之島》台灣原生樹木當主角 科普繪本好玩又美麗

時值世界地球日(4月22日),各國倡議「提升地球力」(Our Power, Our Planet)之際,農業部林業及自然保育署藉由出版繪本,再度展現台灣森林的多元樣貌與生態實力,引領讀者來一趟原生樹木探索之旅。 《不可思議的森之島》內頁預覽。攝影:廖靜蕙 林保署與拾蒔生活工作室共同策劃製作,首度以「原生樹木」為主題出版植物科普繪本《不可思議的森之島》,從「樹的自然脈絡」、「樹的生態秘密」、「樹的生活感知」三大主軸切入,介紹原生樹木的自然特性、生態功能與人文應用。內容涵蓋地質、氣候、物候、動植物互動、林業產物與民俗智慧。 一本繪本 建構台灣原生植物知識 台灣獨特的地理位置及島內涵蓋從熱帶到寒帶的多樣氣候,孕育出超過4000種原生植物,豐富的原生樹木資源演化出獨特的自然寶庫,堪稱綠色方舟。 從一棵樹到變成一座森林,植物很不簡單。《不可思議的森之島》一書以植物、樹木為主題,發展22個議題,內容包羅萬象,談古說今,兼容時間和空間尺度。期待讀者藉由閱讀,辨識個別的台灣原生植物,了解森林生態的脈絡,並進而理解森林生態系在食衣住行等面向,提供眾多不可取代的服務功能。 雖為繪本型態,卻有知識密度極高的內容,適合全齡層閱讀,並有針對不同年齡層,建議發展不同的閱讀策略。即使不識字的小孩子,也可藉由親子共讀或老師導讀,先從圖片開始,提出有趣的問題——誰是台灣的(植物)千歲爺?誰是台灣的冠軍樹?一棵樹不同的高度、從樹冠層到底層,又住著哪些動物? 植物看似渺小,卻能彼此串聯成巨大的力量,供應人類日常所需。除了有趣的問題,每個主題也獨具魅力。原來果子的旅途如此充滿精算,大樹不但提供住宿,也像人類的便利超商,提供了24小時食堂;最厲害的是,森林不但讓野生物能依附,也能呼召職人親近。透過一篇又一篇的主題,逐步建構對台灣原生植物的理解。 《不可思議的森之島》由林業保育署與拾蒔生活工作室共同策劃製作,是第一本以台灣原生樹種為主題的植物科普繪本。攝影:廖靜蕙 森林故事多 充滿惠與益 作者之一賴粹涵,本身即具備植物、森林專業知識,現專心從事自然生態、環境教育。她曾任自然科學博物館解說教育員,期間觀察到民眾對植物和動物相關展覽的反應,有些人遇到植物展覽往往很快走過去,認為植物太安靜了、無聊、不好親近,反而喜歡恐龍這類根據化石想像出形象和習性、不曾看過的物種。如今透過這本書,他想告訴讀者,植物很有趣,和我們的生活連結很深。 書中有一個很重要的概念,無論是一棵樹或一片森林,都該讓它在對的地方適地適生,而非勉強它在不適合的環境;即使是都市中的行道樹,也不該將它限縮在都市一方小小的水泥區塊內,這些看似獨立的行道樹,對生態也有一定的貢獻。 「我們雖然沒有付它錢,它卻為我們做了許多有益的事情。例如調節溫度,交換新鮮空氣,提供遮蔭等。這些對環境無形的貢獻,都值得我們好好對待它。」賴粹涵說。 畫出原生植物野地氣質 認出樹有如遇見好友 本書的畫作出自插畫家李伊甯之筆。她為了能在繪本中傳遞台灣原生植物的正確知識,走遍全國森林,也因此認識更多植物、關注到它們的特徵。這項計畫之前,她算是植物辨識的素人,現在,遠遠看到某棵樹,就能知道它是誰。 「台灣植物的多樣性太多太豐富,花果葉各自不同,葉緣有些微差異,可能就是不同的植物。」過去走步道、爬山時就特別喜歡觀察植物;繪製這本書過程,原生植物帶給她莫大的驚喜,「原來台灣原生植物這麼美!」 因為許多樹種長太高,看不到細節,或季節不對,無法同時看到開花又結果,李伊甯繪製過程看了大量的植物特寫照,進而迷上了原生植物,理解到台灣植物其實既秀雅又內斂,精密的構造很美,「野地氣質又秀雅」,種種形容有如說的是熟識的朋友。 繪製一種原生植物,也許能當成是興趣;但是繪製數百種植物,就得接受挑戰。李伊甯說,植物變化多,野外植株與人為栽培的景觀植株就有差異,這時審查委員扮演重要的角色。「老師(審查委員)會提醒我,我選擇了的是植物特殊的樣子或是常態版。這很依賴老師的經驗,因為他們看過很多野外植物的臉譜,老師的回饋顯得重要。」 植物細膩之處,例如花蕊的數量、分布,同一株植物可能就遇到變化的葉形、非典型的果,雄蕊和雌蕊也各自不同;種種細節探究都讓她投入非常多心思;有審查委員把關,更形成學習互動的關係。 長時間大量觀察植物特寫,使她養成遠遠看到一棵樹,就產生共鳴——我可能認識它,它可能是我畫過的樹。和原生植物相認,開車時也有點不專心了。「那種親切感很不可思議,讓我意識到我們都同在一塊土地上。」 拾蒔生活工作室李伊甯設計師,分享製作歷程與對台灣植物多樣性的觀察。圖片來源:林保署 提供 不須眾裡尋它千百度 玉山圓柏千年陪伴 為了繪製這些原生植物,李伊甯走訪眾多台灣森林,國家森林遊客區、福山植物園、合歡山,從海濱植物園區看紅樹林,中海拔、高海拔的森林都走過一遍。她說,親臨現場最能感受森林的樣貌,其中,她最渴慕能一親雪山一帶的玉山圓柏純林。 「玉山圓柏是台灣屋脊樹種,那片純林是好幾千年的原始林,見證台灣社會與環境的變遷,也面臨很多挑戰,讓我感到有個長者守護著我們。」古老的巨樹們就在那裡,讓她感受到力量。不過在拜訪這片純林之前,她得先練好腿力——書中也有玉山圓柏,無法親訪的讀者,可先透過閱讀繪本感受它的魅力。 這本繪本的故事深深地感動了李伊甯,她希望將這份感動傳遞出去。「當這本繪本遇到讀者,它就會化身為一顆種子,傳遞森林生態的知識,並因此與森林產生連結;將它分享出去,結出更多種子,期許讓森林生態的情感成為一個人的修為。」 林保署表示,本書將贈送至全台各地圖書館作為教育推廣用書,鼓勵親子共讀,成為推動認識島嶼植物的最佳輔助教材。讀者也能於國家書店與五南文化廣場選購,透過翻閱繪本走進台灣森林的世界,一同發現這座「綠色方舟」蘊藏的奇蹟與驚喜。 《不可思議的森之島》新書發表會。攝影:廖靜蕙

e-info.org.tw · 環境資訊中心

0
0
0
0
0
1
0