Tag Archive for gentoo

gentoo beragadt init script takarítása

/etc/init.d/docker zap

 

gigabit e1000e Detected Hardware Unit Hang

If we see it in

$ dmesg
[Tue Feb 13 20:53:07 2018] e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:
                             TDH                  <1b>
                             TDT                  <76>
                             next_to_use          <76>
                             next_to_clean        <1b>
                           buffer_info[next_to_clean]:
                             time_stamp           <361c0382c>
                             next_to_watch        <1e>
                             jiffies              <361c056ec>
                             next_to_watch.status <0>
                           MAC Status             <80083>
                           PHY Status             <796d>
                           PHY 1000BASE-T Status  <3800>
                           PHY Extended Status    <3000>
                           PCI Status             <10>
[Tue Feb 13 20:53:07 2018] e1000e 0000:00:19.0 eno1: Reset adapter unexpectedly

the resulution is:

$ ethtool -K eth0 gso off gro off tso off

 

for gentoo, add these lines into

$ vi /etc/conf.d/net
postup(){

  /usr/sbin/ethtool -K eno1 gso off gro off tso off

}

 

src: https://serverfault.com/questions/616485/e1000e-reset-adapter-unexpectedly-detected-hardware-unit-hang

apache tomcat multiple instances on gentoo

user $/usr/share/tomcat-7/gentoo/tomcat-instance-manager.bash
No action specified!
Usage: /usr/share/tomcat-7/gentoo/tomcat-instance-manager.bash <--create|--remove|--help> [--suffix s][--user u][--group g]

  Options:
    --help:
      show this text.
    --create:
      create a new instance
    --remove:
      remove an existing instance.
    --suffix SUFFIX:
      a suffix for this instance. the suffix may not collide with an already
      existing instance, defaults to empty.
    --user USER:
      the user for which to configure this instance for. The user needs to
      exist already. defaults to tomcat.
    --group GROUP:
      the group for which to configure this instance for. The group needs to
      exist already. defaults to tomcat.

Examples:

/usr/share/tomcat-7/gentoo/tomcat-instance-manager.bash --create --suffix testing --user tacmot --group tacmot
/usr/share/tomcat-7/gentoo/tomcat-instance-manager.bash --remove --suffix testing

Follow the information in the help to create new Tomcat instances. Tomcat instances use the following layout:

  • /etc/conf.d/tomcat-SLOT-suffix: configuration file for running Tomcat instance services
  • /etc/init.d/tomcat-SLOT-suffix: controlling script for the Tomcat instance
  • /etc/tomcat-SLOT-suffix/: directory containing standard Tomcat configuration files
  • /var/lib/tomcat-SLOT-suffix/: Catalina base directory
  • /var/log/tomcat-SLOT-suffix/: directory for instance log files

Gentoo szerveren Tomcat-ben, alkalmazás specifikus propertie fájl classpath-ra tétele

Először is megnyitjuk a tomcat conf-ot

vi /etc/conf.d/tomcat-7-main

majd itt a

az alábbi sort módosítjuk pl:

JAVA_OPTS="-Dtimetracker_config_location=file:///var/lib/tomcat-7-main/properties/timetracker.properties

 

 

SSL tanusitvany generalasa

HTTPS protokollhoz sajat, alairt kulcs es tanusitvany generalasa:

openssl genrsa 2048 > ronhks.hu.key
openssl req -new -x509 -nodes -sha1 -key ronhks.hu.key > ronhks.hu.crt

 

Glassfish start script

Hogy is kell, gentoo alatt glassfish szervert indító scriptet csinálni. Álljon alább a példa:
Létrehozunk egy file-t /usr/local/bin/gf_start tartalma:

#!/bin/bash
/opt/glassfish/glassfish3/bin/asadmin start-domain

Kell egy stop is: /usr/local/bin/gf_stop tartalma:

#!/bin/bash
/opt/glassfish/glassfish3/bin/asadmin stop-domain

És maga az indító script /etc/init.d/glassfish aminek a tartalma:

#!/sbin/runscript

depend() {
        need net
}

start() {
        ebegin "Starting glassfish"
        # Ensure that we run from a readable working dir, and that we do not
        # lock filesystems when being run from such a location.
        cd /
        start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/glassfish.pid --exec /usr/local/bin/gf_start
        eend $?
}

stop() {
        ebegin "Stopping glassfish"
        /usr/local/bin/gf_stop
        eend $?
}

restart() {
        if ! service_stopped "NULL" ; then
                svc_stop || return "$?"
        fi
        svc_start
}

Gentoo – out of space

egy kis ellenőrzés a függőségekre:

revdep-rebuild

majd

eclean distfiles

és/vagy

eclean packages

Ha Gentoo széthullik update-kor

Ha meghal a gentoo és se einfo, se rc-service

emerge -ave system 
emerge -ave world 
revdep-rebuild

Jenkins install from binary on Gentooo

Edit /etc/layman/layman.cfg and add new overlay list :

overlays  : http://www.gentoo.org/proj/en/overlays/layman-global.txt
            http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml

Or in one line:

layman -f -o http://godin-gentoo-repository.googlecode.com/svn/trunk/layman.xml -a godin

Add to sync list :

layman -S
layman -L
layman -a godin

Add to make.conf :

echo "dev-util/jenkins-bin" >> /etc/portage/package.keywords

emerge the ebuild:

emerge -av dev-util/jenkins-bin

Gentoo install

A következő leírásban bemutatom röviden, hogyan tudunk egy alap Gentoo rendszert feldobni gépünkre, vagy egy virtuális gépre.

 

Töltsük le a Gentoo minimal LiveCD-t. Az install-PLATFORM-minimal-DÁTUM.iso fájlt töltsük le.

  • 64 bites rendszer: http://gentoo.inf.elte.hu/releases/amd64/current-iso/
  • 32 bites rendszer: http://gentoo.inf.elte.hu/releases/x86/current-iso/

Bootoljuk be a számítógépünket erről a LiveCD-ről.

Következő lépésként állítsuk be a hálózatot. Amennyiben csak egy hálókártya van a gépben, akkor az esetek nagy részében az eth0 lesz a jó hálókártya név:

net-setup eth0

Állítsunk be egy root jelszót:

passwd

Majd indítsuk el az SSH szervert, hogy távolról, kényelmesen tudjunk telepíteni (ha akarunk persze…)

/etc/init.d/sshd start

Következő lépésben particionáljuk meg a merevlemezt (ha esetleg már korábban nem tettük volna). Én a cfdisk nevű programot szoktam erre használni, de persze használhatsz fdisk-et is ha az jobban tetszik. Két partíciót hozok létre, egy kb. 1 gigabájtosat swapnak, a maradék helyet pedig a /-nak. Ehhez a cfdisk nevá segédprogramot használom, ennek bemutatását külön nem írnám le, elég egyszerű a program.

cfdisk

Formázzuk meg a létrehozott partíciókat, a swapot aktiváljuk, a / partíciót pedig mountoljuk is fel. Jelen esetbe ext4-nek formázom a / partíciót.

mkfs.ext4 /dev/sda1
mkswap /dev/sda2 && swapon /dev/sda2
mount /dev/sda1 /mnt/gentoo

Töltsük le a stage3-at, majd csomagoljuk ki. A legfrissebb stage3-at itt találjuk: ftp://gentoo.inf.elte.hu/releases/amd64/current-stage3/

cd /mnt/gentoo
wget ftp://gentoo.inf.elte.hu/releases/amd64/current-stage3/stage3-amd64-DATUM.tar.bz2
tar xjpf stage3*
rm -f /mnt/gentoo/stage3*.tar.bz2

Ha a stage3 megvan, akkor a portage treet is töltsük le és csomagoljuk ki a helyére:

cd /mnt/gentoo/usr
wget ftp://gentoo.inf.elte.hu/snapshots/portage-latest.tar.bz2
tar xjf portage-lat*
rm -f /mnt/gentoo/usr/portage-lat*.tar.bz2

Montuljuk fel a chroothoz szükséges dolgokat, majd chrootoljunk be az új Gentoo telepítésünkbe:

mount -t proc proc /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile

Állítsuk be jól az időzónánkat:

cp /usr/share/zoneinfo/Europe/Budapest /etc/localtime
date

Következő lépésben állítsuk be gépünk nevét. A gepneve szöveg helyére írjunk egy saját nevet

echo "127.0.0.1 gepneve localhost" > /etc/hosts
sed -i -e 's/HOSTNAME.*/HOSTNAME="gepneve"/' /etc/conf.d/hostname
hostname gepneve
hostname -f

A gépnév beállítása után állítsuk be az fstabot, amivel megmondjuk a rendszernek, hogy mely partíciót hova mountolja. Én az UUID alapú megoldást preferálom, ezért derítsük ki mi a partíciók egyedi azonosítója:

ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 Jun 13 09:26 b492c700-719e-4fed-b6cd-b43fdc29b41e -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 13 09:27 f91b51e8-6945-49f0-8023-45fb7f462da9 -> ../../sda1

Ha megvannak az UUID-ok, akkor nyissuk meg szerkesztésre az /etc/fstab fájlt:

nano /etc/fstab

Nálam (két partícióval) így fog kinézni a fájl:

UUID=f91b51e8-6945-49f0-8023-45fb7f462da9       /               ext4            noatime         0 1
UUID=b492c700-719e-4fed-b6cd-b43fdc29b41e       none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      auto            noauto,ro       0 0
shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

Az első oszlopba kerül a lemez azonosítója (/dev/akármi, vagy jelen esetben UUID=azon), a második oszlop, hogy hova mountolja, a harmadikban a fájlrendszer típusa van, a negyedik ötödik pedig különböző paraméterek.

Következzék a hálózat beállítása. A 192.168.1.200 jelen esetben a gép IP címe, az 192.168.1.1 az átjáró (router) címe. Ha DHCP szervertől kapjuk az IP címet, akkor ezt hagyjuk ki.

echo 'config_eth0=( "192.168.1.200/24" )' >> /etc/conf.d/net
echo 'routes_eth0=( "default via 192.168.1.1" )' >> /etc/conf.d/net

Ha DHCP szervert szeretnénk használni, akkor még a dhcpd csomagot telepíteni kell:

emerge dhcpcd

Állítsuk be, hogy az eth0 interfész automatikusan elinduljon, valamint az SSH szerver is induljon el a rendszer indításakor:

rc-update add net.eth0 default
rc-update add sshd default

Állítsunk be egy root jelszót:

passwd

Majd állítsuk be az időzónánkat:

nano /etc/conf.d/clock
TIMEZONE="Europe/Budapest"

Állítsuk be a billentyűzet kiosztásunkat, amennyiben az nem angol. Ehhez nyissuk meg szerkesztésre a /etc/conf.d/keymaps fájl, majd a KEYMAP opcióban írjuk át a en szöveget hu szövegre.

nano /etc/conf.d/keymaps
KEYMAP="hu"

Forgassuk le a syslog-ng-t és a vixie-cron csomagot (syslog és cron), majd állítsuk be, hogy ezek automatikusan induljanak is el.

emerge syslog-ng vixie-cron
rc-update add syslog-ng default
rc-update add vixie-cron default

Töltsük le a kernel forrást, majd állítsuk be a nekünk szükséges dolgokat. A Linux kernel forgatásáról most nem írok, ha esetleg nem akarsz saját kernelt forgatni, akkor ugord át ezt a részt.

emerge gentoo-sources
cd /usr/src/linux
make menuconfig

Ha beállítottuk, forgassuk le: (a -j2 opciónál a szám helyett annyit írjunk ahány processzor magunk van plusz egy)

make -j2
make modules_install
make install

Ha nem akarunk saját kernelt forgatni, akkor a Genkernel csomagra lesz szükségünk. Ez fogja elintézni a kernel leforgatását.

emerge genkernel

Majd forgattassuk le a kernelt:

genkernel all

Legvégén telepítsük a Grub-ot, amivel betöltjük a kernelt

emerge grub

Szerkesszük a GRUB konfigurációs fájlját

nano /boot/grub/grub.conf

A tartalma ilyesmi legye (ahol sda1 az a partíció, aho la /boot van)

default 0
timeout 5

title Gentoo Linux 2.6.32-r7
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-gentoo-r7 root=/dev/sda1

Majd telepítsük a grubot a bootszektorba

grub
root (hd0,0)
setup (hd0)
quit

Kész is vagyunk a telepítéssel. Lépjünk ki a chrootból, umountoljuk a partíciókat, majd indítsuk újra a számítógépet

exit
umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
reboot
from: http://hogyan.org/gentoo-telepitese