Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / обертка для bash с человеческими названиями / 14 сообщений из 14, страница 1 из 1
02.02.2011, 05:53
    #37092139
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
Привет, есть какая-то обертка дающая часто используемым командам юникса осмысленные названия? Я пользуюсь такой штукой но может есть-что-то получше?

(добавляем в баш профайл)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# apt-get shortcuts
package.install(){
  apt-get install $*;
}
package.list(){
  dpkg -l;
}
package.search(){
  aptitude search $*;
}
...
Рейтинг: 0 / 0
02.02.2011, 06:36
    #37092149
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
точнее что-то вроде этого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
# apt-get shortcuts
function package(){
  method=$ 1 ;
  if [ "$method" = "list" ]; then
    shift; dpkg -l
  elif [ "$method" = "search" ]; then
    shift; aptitude search $*
  else
    apt-get $*
  fi
}
...
Рейтинг: 0 / 0
02.02.2011, 08:59
    #37092232
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
man alias ?
...
Рейтинг: 0 / 0
02.02.2011, 12:20
    #37092742
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
On 02.02.2011 5:53, private wrote:

> Привет, есть какая-то обертка дающая часто используемым командам юникса
> осмысленные названия? Я пользуюсь такой штукой но может есть-что-то получше?

ржал.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.02.2011, 15:05
    #37093258
Мутаген
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
...
Рейтинг: 0 / 0
02.02.2011, 18:34
    #37093849
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
не согласен со статьей джоела, о лики абстракшен, с его позиции так тогда и ORM нет смысла использовать как абстракцию над релационной базой (он же скрывает часть деталей и фич базы), однако все их используют. Потому что так удобно, проще и быстрее разрабатывать, а если нужен доступ к скрытой фиче всегда можно обойти абстракцию и обратится напрямую.
на мой взгляд, в статье кое-что верно, но в целом - не согласен.

авторржал.
чему?

Код: plaintext
1.
2.
3.
dpkg -l
aptitude search mysql
apt-get install mysql

Код: plaintext
1.
2.
3.
packager list
packager search mysql
packager install mysql

смотрю на первый список - каким местом нужно было думать чтобы создать такое для выполнения элементарных действий?
ну, на самом деле - они-то думали нормально, в то время когда они создавали те интерфейсы и такой дизайн был достижением.
Но непонятно чем думают люди, которые сейчас, в наше время считают что кривой доисторический интерфейс каноническим и совершенным.
...
Рейтинг: 0 / 0
02.02.2011, 20:28
    #37094003
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
On 02.02.2011 18:34, private wrote:
> не согласен со статьей джоела, о лики абстракшен, с его позиции так тогда и ORM
> нет смысла использовать как абстракцию над релационной базой

Да он вообще крезак, спольски этот. Понаписал статей, на столько оригинальных,
на столько же и безполезных. Ну, ему за это бабло за консалтинг, понятно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
03.02.2011, 00:05
    #37094264
обертка для bash с человеческими названиями
private,

если уж вы собрались экономить силы, выбирайте названия для "оберток" покороче, что ли. из двух или одной буквы.

alias ac=apt-cache
alias ag=apt-get
alias d=dpkg
...
...
Рейтинг: 0 / 0
03.02.2011, 09:16
    #37094553
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
авторесли уж вы собрались экономить силы судя по вашему предложению, вы, по видимо-му совершенно не поняли то что я предлагаю. ваш вариант еще хуже чем именования стандартных линуксовых команд.
...
Рейтинг: 0 / 0
03.02.2011, 11:07
    #37094789
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
кстати, подскажите плиз по такому вопросу еще:

я щас одну небольшую утилиту доделываю, которая позволяет удаленно собирать разные профили систем одной коммандой, и чтобы определить ошибку иногда помимо екзит кода команды смотрю также пустой STDERR или нет.

Но там такое ощущение что многие юниксовые командлайн утилиты пишут в стдерр обычные-инфо-сообщения а не ерроры (apt-get тот-же) - т.е. получается что никакой системы нет, каждая программа использует стдерр как хочет и полагаться на него чтобы сделать вывод была ошибка или нет нельзя.
это так?

ПС
сама утилита тут http://github.com/alexeypetrushin/cluster_management правда щас она в разобраном состоянии, будет работать через день-два, надеюсь :)
пример одного из конфигов тут http://github.com/alexeypetrushin/my_cluster/blob/master/lib/packages/basic.rb
...
Рейтинг: 0 / 0
03.02.2011, 11:14
    #37094812
pwgen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
private,
Код: plaintext
1.
2.
3.
dpkg -l
aptitude search mysql
apt-get install mysql
Код: plaintext
1.
2.
3.
packager list
packager search mysql
packager install mysql

рекомендую прочитать какую-нибудь документацию по aptitude, поскольку все эти действия делаются с его помощью
Код: plaintext
1.
2.
3.
aptitude search "?or(?installed,?config-files)"
aptitude search mysql
aptitude install mysql
...
Рейтинг: 0 / 0
03.02.2011, 20:47
    #37096338
обертка для bash с человеческими названиями
private,

да, я таки не понял, зачем вам такая обертка. впрочем, о вкусах не спорят, решайте свои проблемы так, как вам удобнее.
...
Рейтинг: 0 / 0
03.02.2011, 23:34
    #37096591
spudei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
Попробуйте установить и использовать оболочку es вместо bash.
Правда, документации по ней почти нет.
...
Рейтинг: 0 / 0
07.02.2011, 22:14
    #37103228
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обертка для bash с человеческими названиями
окончание: из плохих новостей - в середине той недели я подхватил грипп :(, зато из хороших - появилось свободное время и доделал что хотел. Получилась штука слегка напоминающая Capistrano/Chef/Puppet

как пример пакет описывающий как инсталировать руби:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
  desc 'ruby'
   package  ruby: :system_tools  do         
    apply_once  do 
      installation_dir = '/usr/local/ruby'
      ruby_name = "ruby-1.9.2-p136"
      
      log_operation 'building'  do 
        box.tmp  do  |tmp|
          tmp.bash "wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/#{ruby_name}.tar.gz"
          tmp.bash "tar -xvzf #{ruby_name}.tar.gz"
                      
          src_dir = tmp[ruby_name]
          src_dir.bash "./configure --prefix=#{installation_dir}"
          src_dir.bash 'make && make install'
        end
      end
      
      log_operation 'configuring'  do 
        box.home('.gemrc').write! "gem: --no-ri --no-rdoc\n"
      end

      log_operation 'updating environment'  do 
        bindir = "#{installation_dir}/bin"
        unless box.env_file.content =~ /PATH.*#{bindir}/
          box.env_file.append %(\nPATH="$PATH:#{bindir}"\n)
          box.reload_env
        end
      end
    end    
    verify{box.bash('ruby -v') =~ /ruby  1 . 9 . 2 /}
  end

так можно подготовить пустую машину для роли аппсервера (через ССШ)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$ rake app_server host=universal.xxx.com
applying 'basic:os:5' to '<Box: universal.xxx.com>'
applying 'basic:apt' to '<Box: universal.xxx.com>'
applying 'basic:system_tools' to '<Box: universal.xxx.com>'
applying 'basic:ruby' to '<Box: universal.xxx.com>'
  building ... done
  updating path ... done
applying 'basic:git' to '<Box: universal.xxx.com>'
applying 'basic:security:6' to '<Box: universal.xxx.com>'
applying 'basic:manual_management:2' to '<Box: universal.xxx.com>'
applying 'app_server:fake_gem:2' to '<Box: universal.xxx.com>'
applying 'app_server:custom_ruby:3' to '<Box: universal.xxx.com>'

ну и я впринципе разобрался как сделать баш-скрипты чтобы получались команды с нормальными названиями
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
# apt-get
function packager(){
  method=$ 1 ;
   if  [ "$method" = "list" ]; then
    shift; dpkg -l $*
  elif [ "$method" = "search" ]; then
    shift; aptitude search $*
   else 
    apt-get -y $*
  fi
}

# htop
alias profiler="htop"

полные конфиги и описания тут
https://github.com/alexeypetrushin/vfs
https://github.com/alexeypetrushin/cluster_management
https://github.com/alexeypetrushin/my_cluster

ПС
кстати, а сейчас есть смысл вводить несколько пользователей для системы с точки зрения безопасности? Я особо не вижу зачем это делать, ладно когда там один сервер много пользователей делят - тогда да, но если у тебя ВПС и там например сервера работают - то какой смысл?
Какая разница взломают аккаунт от имени которого работает апп-сервер или рута - ущерб одинаков в обоих случаях - есть доступ к базе данных и файлам.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / обертка для bash с человеческими названиями / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]