Шукати в цьому блозі

вівторок, 19 квітня 2016 р.

Сортування ip-адрес у консолі

Постало питання у виводі на консоль відсортувати ip-адреси (v4). Виявилося, що це робиться доволі просто, через стандартну команду sort:
$ nmap -sP 10.100.1.* 2>&1 >/dev/null
$ ip neigh show | \
  awk '$4~/^INCOMPLETE$/ { print $1 }' | \
  sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n

  • -t . : Set field to . (dot) as our IPs separated by dot symbol;
  • -n : Makes the program sort according to numerical value;
  • -k opts: Sort data / fields using the given column number. For example, the option -k 2 made the program sort using the second column of data. The option -k 3,3n -k 4,4n sorts each column. First it will sort 3rd column and then 4th column.

середа, 16 березня 2016 р.

Debian: встановлення Adobe Reader

Завантажуємо Adobe Reader 9.5.5 enu (AdbeRdr9.5.5) і встановлюємо acroread.
wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb
sudo aptitude install gdebi
sudo gdebi AdbeRdr9.5.5-1_i386linux_enu.deb
acroread
Варто зауважити, що Adobe припинила випуски та підтримку acroread-ера для Linux.

понеділок, 14 березня 2016 р.

Gnome3 - іконки на робочій стільниці

Як можна помітити, то за замовченням gnome3 не висвітлює на робочій стільниці жодних іконок. Але цю поведінку можна змінити.
Для цього нам знадобиться… правильно - консоль!
Запустимо gsettings та збережемо, про всяк випадок, всі поточні налаштування:
gsettings list-recursively | tee gsettings.keys.bak
Що ж до задачі висвітлення іконок на робочій стільниці gnome3 нас цікавлять:
gsettings get org.gnome.desktop.background show-desktop-icons
gsettings get org.gnome.nautilus.desktop volumes-visible
Ключ show-desktop-icons у схемі org.gnome.desktop.background та ключ volumes-visible у схемі org.gnome.nautilus.desktop треба встановити у значення true щоб отримати бажаний результат.
# show files on desktop
gsettings set org.gnome.desktop.background show-desktop-icons true

# show shares on desktop
gsettings set org.gnome.nautilus.desktop volumes-visible true

# restart nautilus
nautilus -q
nautilus
Створювати та редагувати посилання до додатків можна за допомогою додатку gnome-desktop-item-edit.

Gnome3 - початковий автоматичний запуск додатків

При спробі знайти засіб для налаштування автоматичного запуску додатків при вході у gnome3 google наполегливо відсилає нас на сторінки де рекомендується застосувати
gnome-session-properties
але треба зауважити, що цей додаток є застарілим. Замість нього можна використати
gnome-tweak-tool
де можна перейти у пункт "Початкові програми". Але, завжди є але. А якщо хочеться додати те чого немає у наданому меню? Тоді все також доволі просто - консоль! Переходимо у
cd .config/autostart/
і створюємо desktop-файл з описом додатка. Наприклад - xkb-lang.desktop:
[Desktop Entry]
Exec=/home/olden/bin/xkb-lang.sh
Hidden=true
Name=XKB-Lang
Icon=xterm
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
Якщо після цього зайти у gnome-tweak-tool то можна побачити, що цей додаток буде відтворюватись у меню "Початкових програм" і, відповідно, буде запускатися при вході у gnome3.

пʼятниця, 11 березня 2016 р.

bash та sin, cos, тощо…

Рецепти для bash-а. Може кому знадобиться, от як мені…
function sin(){ echo "scale=10; s($1*a(1)/45);" | bc -l; }
function cos(){ echo "scale=10; c($1*a(1)/45);" | bc -l; }
function tan(){ echo "scale=10; arg=$1*a(1)/45; s(arg)/c(arg);" | bc -l; }
function ln(){ echo "scale=10; l($1);" | bc -l; }
function log(){ echo "scale=10; l($1)/l(10);" | bc -l; }
Правда народ ще більше страждає… ряди розписує:
function sin()
{
  if [ $# != 2 ]
  then
    echo "FAIL" >&2
    return 2
  fi

  result=$1
  x=$1
  n=1
  fact=1
  for k in `seq 2 $2`
  do
    x=$(( $x * $1 * $1 ))
    n=$(( $n + 2 ))
    fact=$(( (-1.0) * $fact * ($n - 1) * $n ))
    result=$(( $result + $x / $fact ))
  done
  echo $result
}

Debian: перехід з network interfaces на network-manager та налаштування vlan-ів.

Нещодавно все ж таки оновив wheezy на jessy і так сталося, що аж закортіло поміняти звичні налаштування у /etc/network/interfaces на те, що прпонує network-manager.

Раніше (давно, ой як давно) від цього кроку суттєво стримала відсутність підтримки vlan (чи то просто не помічав?). Але цього разу помітив її у gui від gnome, і вирішив більш досконало покопатися та зрозуміти що до чого, якщо захочеться лапками підправити.

Для початку, наш погляд має змінити напрямок з /etc/network/ на /etc/NetworkManager/, саме в останній директорії знаходяться всі налаштування щодо network-manager-а.

Головний файл налаштувань NetworkManager.conf залишився таким яким був за-замовченням. Найбільш цікаво це налаштування інтерфейсів. Інтерфейси описуються тут /etc/NetworkManager/system-connections, окремими файлами. Так, так, коли інтерфейси описується у gui network-manager-а то зберігаються вони саме тут.

Але від слів до діла. Припустимо, що нам треба налаштувати vlan7 зі статичною ip-адресою.

От як це виглядало б у interfaces:
auto vlan7
iface vlan7 inet static
        vlan_raw_device eth0
        address 93.124.120.14
        netmask 255.255.255.240
        gateway 93.124.120.1
        network 93.124.120.0
        broadcast 93.124.120.15
От як ті самі налаштування виглядатимуть у network-manager-і, додаємо файл /etc/NetworkManager/system-connections/vlan7 наступного змісту:
[connection]
id=VLAN7
uuid=6b5a8896-a4ab-4993-82b0-ce6739e389b7
interface-name=vlan7
type=vlan
timestamp=1457621961

[ipv6]
method=auto
ip6-privacy=0

[vlan]
interface-name=vlan7
parent=eth0
id=7

[ipv4]
method=manual
dns=211.89.160.2;211.89.160.8;
address1=93.124.120.14/28,93.124.120.1
Так, писати, якщо це робити вручну, стало трішки більше.
Що ми зробили? Описали секції для інтерфейсу за яким здійснюється з'єднання (connection), опції протоколів ipv6 та ipv4, та секцію яка описує наш vlan.

uuid у секції connection можна згенерувати за допомогою uuidgen (пакет uuid-runtime), він має бути унікальним.

Цікавим моментом є те, що до налаштувань можна одразу додати інформацію щодо маршрутів. Трішки змінимо секцію ipv4:
[ipv4]
method=manual
dns=211.89.160.2;211.89.160.8;
address1=93.124.120.14/28,93.124.120.1
route1=172.16.1.0/29,93.124.120.2
route2=10.254.0.0/16,93.124.120.2
route3=10.255.0.0/16,93.124.120.2
Тепер, наш хост знає, що шукати мережі 172.16.1.0/29, 10.254.0.0/16 та 10.255.0.0/16 треба не по маршруту за-замовченням, а через інший хост 93.124.120.2, який входить до мережі 93.124.120.0/28.

Ніякої потойбічної магії. Всі опції та поля задокументовані і не є якоюсь таємницею.

Останнє, у тому випадку якщо зміни які було внесено через gui одразу ж не застосовуються, треба просто переініціалізувати відповідний сервіс:
sudo service network-manager force-reload
От і все. Не настільки загадково, як здавалося на перший погляд ;)

середа, 9 березня 2016 р.

Debian Upgrade та повне відновлення KDE або Gnome

Нарешті оновився з wheezy на jessie, але при цьому повністю за залежностями зламався kde. Постало питання, а як же оновити kde та/або gnome якщо вони "зламалися"?
Відповідь, як завжди, лежить у Debian Wiki.
sudo aptitude install ~t^desktop$ ~t^kde-desktop$
sudo tasksel -t install gnome-desktop
sudo aptitude -q --without-recommends \
    -o APT::Install-Recommends=no -y \
    install ~t^desktop$ ~t^gnome-desktop$
Для KDE можна спробувати щось на кшталт такого як і для Gnome:
sudo tasksel -t install kde-desktop
sudo aptitude -q --without-recommends \
    -o APT::Install-Recommends=no -y \
    install ~t^desktop$ ~t^kde-desktop$